diff options
author | Robin Gloster <mail@glob.in> | 2019-08-25 18:55:46 +0200 |
---|---|---|
committer | Robin Gloster <mail@glob.in> | 2019-08-25 18:55:46 +0200 |
commit | 616b8343c4c384f651f51d8c9b8e96239e1113d0 (patch) | |
tree | c6894ea5e950e373bcf8c8e8948fb2a7d4716565 /pkgs/applications/science | |
parent | 45d6ccea3357c65135b985f2eebf88020ca6461e (diff) | |
parent | 48191315aa2e34643203dbfc5ae8bd84c1cafe54 (diff) | |
download | nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.gz nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.bz2 nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.lz nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.xz nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.tar.zst nixpkgs-616b8343c4c384f651f51d8c9b8e96239e1113d0.zip |
Merge remote-tracking branch 'upstream/master' into gcc-8
Diffstat (limited to 'pkgs/applications/science')
83 files changed, 933 insertions, 352 deletions
diff --git a/pkgs/applications/science/astronomy/gildas/default.nix b/pkgs/applications/science/astronomy/gildas/default.nix index e5a9fca3337..9f65c63f7a6 100644 --- a/pkgs/applications/science/astronomy/gildas/default.nix +++ b/pkgs/applications/science/astronomy/gildas/default.nix @@ -7,8 +7,8 @@ let in stdenv.mkDerivation rec { - srcVersion = "jun19b"; - version = "20190601_b"; + srcVersion = "jul19a"; + version = "20190701_a"; name = "gildas-${version}"; src = fetchurl { @@ -16,7 +16,7 @@ stdenv.mkDerivation rec { # source code of the previous release to a different directory urls = [ "http://www.iram.fr/~gildas/dist/gildas-src-${srcVersion}.tar.xz" "http://www.iram.fr/~gildas/dist/archive/gildas/gildas-src-${srcVersion}.tar.xz" ]; - sha256 = "363d191afdb1fda12ec19d6b9c3ab4189e7c3b036e78f7359d17671d846118ce"; + sha256 = "97eaa0d0a0f53f0616462642a9bfaddb0305a8a0948e60531d8a524a13a370b6"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/astronomy/openspace/default.nix b/pkgs/applications/science/astronomy/openspace/default.nix index ee3a71cf181..dc7c7c920a1 100644 --- a/pkgs/applications/science/astronomy/openspace/default.nix +++ b/pkgs/applications/science/astronomy/openspace/default.nix @@ -5,7 +5,7 @@ stdenv.mkDerivation rec { version = "0.11.1"; name = "openspace-${version}"; - + src = fetchFromGitHub { owner = "OpenSpace"; repo = "OpenSpace"; @@ -13,37 +13,37 @@ stdenv.mkDerivation rec { sha256 = "0msqixf30r0d41xmfmzkdfw6w9jkx2ph5clq8xiwrg1jc3z9q7nv"; fetchSubmodules = true; }; - + buildInputs = [ makeWrapper cmake curl boost gdal glew soil libX11 libXi libXxf86vm libXcursor libXrandr libXinerama ]; - + glmPlatformH = fetchurl { url = "https://raw.githubusercontent.com/g-truc/glm/dd48b56e44d699a022c69155c8672caacafd9e8a/glm/simd/platform.h"; sha256 = "0y91hlbgn5va7ijg5mz823gqkq9hqxl00lwmdwnf8q2g086rplzw"; }; - + # See <https://github.com/g-truc/glm/issues/726> prePatch = '' cp ${glmPlatformH} ext/sgct/include/glm/simd/platform.h cp ${glmPlatformH} ext/ghoul/ext/glm/glm/simd/platform.h ''; - + patches = [ # See <https://github.com/opensgct/sgct/issues/13> ./vrpn.patch - + ./constexpr.patch ./config.patch # WARNING: This patch disables some slow torrents in a very dirty way. - ./assets.patch + ./assets.patch ]; - + bundle = "$out/usr/share/openspace"; - + preConfigure = '' cmakeFlagsArray=( $cmakeFlagsArray @@ -51,28 +51,28 @@ stdenv.mkDerivation rec { "-DCMAKE_INSTALL_PREFIX=${bundle}" ) ''; - + preInstall = '' mkdir -p $out/bin mkdir -p ${bundle} ''; - + postInstall = '' cp ext/spice/libSpice.so ${bundle}/lib cp ext/ghoul/ext/lua/libLua.so ${bundle}/lib ''; - + postFixup = '' for bin in ${bundle}/bin/* do rpath=$(patchelf --print-rpath $bin) patchelf --set-rpath $rpath:${bundle}/lib $bin - + name=$(basename $bin) makeWrapper $bin $out/bin/$name --run "cd ${bundle}" done ''; - + meta = { description = "Open-source astrovisualization project"; longDescription = '' @@ -85,5 +85,6 @@ stdenv.mkDerivation rec { homepage = https://www.openspaceproject.com/; license = stdenv.lib.licenses.mit; platforms = stdenv.lib.platforms.linux; + broken = true; # fails to build }; } diff --git a/pkgs/applications/science/astronomy/stellarium/default.nix b/pkgs/applications/science/astronomy/stellarium/default.nix index fb796341616..e3c66199f11 100644 --- a/pkgs/applications/science/astronomy/stellarium/default.nix +++ b/pkgs/applications/science/astronomy/stellarium/default.nix @@ -1,32 +1,27 @@ { mkDerivation, lib, fetchFromGitHub , cmake, freetype, libpng, libGLU_combined, openssl, perl, libiconv , qtscript, qtserialport, qttools -, qtmultimedia, qtlocation, makeWrapper, qtbase +, qtmultimedia, qtlocation, qtbase, wrapQtAppsHook }: mkDerivation rec { name = "stellarium-${version}"; - version = "0.19.0"; + version = "0.19.1"; src = fetchFromGitHub { owner = "Stellarium"; repo = "stellarium"; rev = "v${version}"; - sha256 = "1x9s9v9ann93nyqd8n8adwhx66xgq5vp0liyzl1h1ji6qk8jla3c"; + sha256 = "0hf1wv2bb5j7ny2xh29mj9m4hjblhn02zylay8gl85w7xlqs7s5r"; }; - nativeBuildInputs = [ cmake perl ]; + nativeBuildInputs = [ cmake perl wrapQtAppsHook ]; buildInputs = [ freetype libpng libGLU_combined openssl libiconv qtscript qtserialport qttools - qtmultimedia qtlocation qtbase makeWrapper + qtmultimedia qtlocation qtbase ]; - postInstall = '' - wrapProgram $out/bin/stellarium \ - --prefix QT_PLUGIN_PATH : "${qtbase}/lib/qt-5.${lib.versions.minor qtbase.version}/plugins" - ''; - meta = with lib; { description = "Free open-source planetarium"; homepage = http://stellarium.org/; diff --git a/pkgs/applications/science/biology/bedtools/default.nix b/pkgs/applications/science/biology/bedtools/default.nix index 406f42e9ad7..2cdd7fda38e 100644 --- a/pkgs/applications/science/biology/bedtools/default.nix +++ b/pkgs/applications/science/biology/bedtools/default.nix @@ -1,17 +1,17 @@ -{stdenv, fetchFromGitHub, zlib, python}: +{stdenv, fetchFromGitHub, zlib, python, bzip2, lzma}: stdenv.mkDerivation rec { name = "bedtools-${version}"; - version = "2.27.1"; + version = "2.28.0"; src = fetchFromGitHub { owner = "arq5x"; repo = "bedtools2"; rev = "v${version}"; - sha256 = "1pk68y052rm2m24yfmy82ms8p6kd6xcqxxgi7n0a1sbh89wllm6s"; + sha256 = "1266bcn5hgbvysfi6nr4cqxlbxcx7vn7ng8kb0v3gz37qh2zxxw9"; }; - buildInputs = [ zlib python ]; + buildInputs = [ zlib python bzip2 lzma ]; cc = if stdenv.cc.isClang then "clang++" else "g++"; buildPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} -j $NIX_BUILD_CORES"; installPhase = "make prefix=$out SHELL=${stdenv.shell} CXX=${cc} install"; diff --git a/pkgs/applications/science/biology/dcm2niix/default.nix b/pkgs/applications/science/biology/dcm2niix/default.nix index 781ceb3df59..0e2b5d8b25f 100644 --- a/pkgs/applications/science/biology/dcm2niix/default.nix +++ b/pkgs/applications/science/biology/dcm2niix/default.nix @@ -2,21 +2,22 @@ , fetchFromGitHub , cmake , libyamlcpp +, git }: stdenv.mkDerivation rec { - version = "1.0.20170130"; + version = "1.0.20190410"; name = "dcm2niix-${version}"; src = fetchFromGitHub { owner = "rordenlab"; repo = "dcm2niix"; rev = "v${version}"; - sha256 = "1f2nzd8flp1rfn725bi64z7aw3ccxyyygzarxijw6pvgl476i532"; + sha256 = "1prwpvbi76xlpkhc4kadjhyyx0s71cs30hi6anknhfm6hdyd26ms"; }; enableParallelBuilding = true; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake git ]; buildInputs = [ libyamlcpp ]; meta = with stdenv.lib; { diff --git a/pkgs/applications/science/biology/est-sfs/default.nix b/pkgs/applications/science/biology/est-sfs/default.nix new file mode 100644 index 00000000000..dcc72523355 --- /dev/null +++ b/pkgs/applications/science/biology/est-sfs/default.nix @@ -0,0 +1,28 @@ +{ stdenv, fetchurl, gsl }: + +stdenv.mkDerivation rec { + pname = "est-sfs"; + version = "2.03"; + + src = fetchurl { + url = "mirror://sourceforge/est-usfs/${pname}-release-${version}.tar.gz"; + sha256 = "1hvamrgagz0xi89w8qafyd9mjrdpyika8zm22drddnjkp4sdj65n"; + }; + + buildInputs = [ gsl ]; + + installPhase = '' + mkdir -p $out/bin + mkdir -p $out/share/doc/${pname} + cp est-sfs $out/bin + cp est-sfs-documentation.pdf $out/share/doc/${pname} + ''; + + meta = with stdenv.lib; { + homepage = https://sourceforge.net/projects/est-usfs; + description = "Estimate the unfolded site frequency spectrum and ancestral states"; + license = licenses.gpl3; + maintainers = [ maintainers.bzizou ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/applications/science/biology/hisat2/default.nix b/pkgs/applications/science/biology/hisat2/default.nix index 9ccf54a8113..9d41fed0691 100644 --- a/pkgs/applications/science/biology/hisat2/default.nix +++ b/pkgs/applications/science/biology/hisat2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, unzip, which, python}: +{stdenv, fetchurl, unzip, which, python, perl}: stdenv.mkDerivation rec { name = "hisat2-${version}"; @@ -9,7 +9,8 @@ stdenv.mkDerivation rec { sha256 = "10g73sdf6vqqfhhd92hliw7bbpkb8v4pp5012r5l21zws7p7d8l9"; }; - buildInputs = [ unzip which python ]; + nativeBuildInputs = [ unzip which ]; + buildInputs = [ python perl ]; installPhase = '' mkdir -p $out/bin diff --git a/pkgs/applications/science/biology/itsx/default.nix b/pkgs/applications/science/biology/itsx/default.nix index 804e71c1bfa..0c8c7313bf2 100644 --- a/pkgs/applications/science/biology/itsx/default.nix +++ b/pkgs/applications/science/biology/itsx/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "Improved software detection and extraction of ITS1 and ITS2 from ribosomal ITS sequences of fungi and other eukaryotes for use in environmental sequencing"; - homepage = http://microbiology.se/software/itsx/; + homepage = https://microbiology.se/software/itsx/; license = licenses.gpl3; maintainers = [ maintainers.bzizou ]; platforms = [ "x86_64-linux" "i686-linux" ]; diff --git a/pkgs/applications/science/biology/mosdepth/default.nix b/pkgs/applications/science/biology/mosdepth/default.nix index 3cd83a5cdd2..1bdb31616e4 100644 --- a/pkgs/applications/science/biology/mosdepth/default.nix +++ b/pkgs/applications/science/biology/mosdepth/default.nix @@ -4,26 +4,26 @@ let hts-nim = fetchFromGitHub { owner = "brentp"; repo = "hts-nim"; - rev = "v0.2.5"; - sha256 = "1fma99rjqxgg9dihkd10hm1jjp5amsk5wsxnvq1lk4mcsjix5xqb"; + rev = "v0.2.14"; + sha256 = "0d1z4b6mrppmz3hgkxd4wcy79w68icvhi7q7n3m2k17n8f3xbdx3"; }; docopt = fetchFromGitHub { owner = "docopt"; repo = "docopt.nim"; - rev = "v0.6.5"; - sha256 = "0yx79m4jkdcazwlky55nwf39zj5kdhymrrdrjq29mahiwx83x5zr"; + rev = "v0.6.7"; + sha256 = "1ga7ckg21fzwwvh26jp2phn2h3pvkn8g8sm13dxif33rp471bv37"; }; in stdenv.mkDerivation rec { name = "mosdepth-${version}"; - version = "0.2.3"; + version = "0.2.6"; src = fetchFromGitHub { owner = "brentp"; repo = "mosdepth"; rev = "v${version}"; - sha256 = "1b9frrwhcvay3alhn0d02jccc2qlbij1732hzq9nhwnr4kvsvxx7"; + sha256 = "0i9pl9lsli3y84ygxanrr525gfg8fs9h481944cbzsmqmbldwvgk"; }; buildInputs = [ nim ]; diff --git a/pkgs/applications/science/biology/niftyreg/default.nix b/pkgs/applications/science/biology/niftyreg/default.nix index 9f24046b3bf..9f1cb8db43d 100644 --- a/pkgs/applications/science/biology/niftyreg/default.nix +++ b/pkgs/applications/science/biology/niftyreg/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, cmake, zlib }: +{ stdenv, fetchurl, cmake, zlib }: stdenv.mkDerivation rec { pname = "niftyreg"; diff --git a/pkgs/applications/science/biology/niftyseg/default.nix b/pkgs/applications/science/biology/niftyseg/default.nix index 671ee4b95c6..e7221855503 100644 --- a/pkgs/applications/science/biology/niftyseg/default.nix +++ b/pkgs/applications/science/biology/niftyseg/default.nix @@ -1,4 +1,4 @@ -{ stdenv, lib, fetchurl, cmake, eigen, zlib }: +{ stdenv, fetchurl, cmake, eigen, zlib }: stdenv.mkDerivation rec { pname = "niftyseg"; diff --git a/pkgs/applications/science/biology/octopus/default.nix b/pkgs/applications/science/biology/octopus/default.nix new file mode 100644 index 00000000000..0a2074a06e9 --- /dev/null +++ b/pkgs/applications/science/biology/octopus/default.nix @@ -0,0 +1,30 @@ +{stdenv, fetchFromGitHub, cmake, boost, gmp, htslib, zlib, lzma, pkg-config}: + +stdenv.mkDerivation rec { + pname = "octopus"; + version = "0.6.3-beta"; + name = "${pname}-${version}"; + + src = fetchFromGitHub { + owner = "luntergroup"; + repo = "octopus"; + rev = "v${version}"; + sha256 = "042fycg8ppld7iajpzq2d8h8wr0nw43zbl57y125sfihryvr373n"; + }; + + nativeBuildInputs = [ cmake pkg-config ]; + buildInputs = [ boost gmp htslib zlib lzma ]; + + postInstall = '' + mkdir $out/bin + mv $out/octopus $out/bin + ''; + + meta = with stdenv.lib; { + description = "Bayesian haplotype-based mutation calling"; + license = licenses.mit; + homepage = "https://github.com/luntergroup/octopus"; + maintainers = with maintainers; [ jbedo ]; + platforms = platforms.x86_64; + }; +} diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix index 5fc222bb299..e6a5ab741d9 100644 --- a/pkgs/applications/science/biology/picard-tools/default.nix +++ b/pkgs/applications/science/biology/picard-tools/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "picard-tools-${version}"; - version = "2.20.2"; + version = "2.20.5"; src = fetchurl { url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar"; - sha256 = "0qpc6pi3fmzv8rs5cmk3dd4clrkzbrngsl384b5g0y7471lhavbi"; + sha256 = "107zlvp74ahpn652nfkipp80bbzf3fp812pi1ma42njk4wchah10"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/science/biology/stacks/default.nix b/pkgs/applications/science/biology/stacks/default.nix index d188ca02b18..e778c3bd52c 100644 --- a/pkgs/applications/science/biology/stacks/default.nix +++ b/pkgs/applications/science/biology/stacks/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { pname = "stacks"; - version = "2.4"; + version = "2.41"; src = fetchurl { url = "http://catchenlab.life.illinois.edu/stacks/source/${pname}-${version}.tar.gz"; - sha256 = "1ha1avkh6rqqvsy4k42336a2gj14y1jq19a2x8cjmiidi9l3s29h"; + sha256 = "0q420rzjb05jfchcls3pysm4hxfgs6xj2jw246isx0il10g93gkq"; }; buildInputs = [ zlib ]; diff --git a/pkgs/applications/science/biology/strelka/default.nix b/pkgs/applications/science/biology/strelka/default.nix index 1527f5d3dda..e7f5eab8bfa 100644 --- a/pkgs/applications/science/biology/strelka/default.nix +++ b/pkgs/applications/science/biology/strelka/default.nix @@ -2,16 +2,17 @@ stdenv.mkDerivation rec { name = "strelka-${version}"; - version = "2.9.5"; + version = "2.9.10"; src = fetchFromGitHub { owner = "Illumina"; repo = "strelka"; rev = "v${version}"; - sha256 = "0x4a6nkx1jnyag9svghsdjz1fz6q7qx5pn77wphdfnk81f9yspf8"; + sha256 = "1nykbmim1124xh22nrhrsn8xgjb3s2y7akrdapn9sl1gdych4ppf"; }; - buildInputs = [ cmake zlib python2 ]; + nativeBuildInputs = [ cmake ]; + buildInputs = [ zlib python2 ]; preConfigure = '' sed -i 's|/usr/bin/env python|${python2}/bin/python|' src/python/lib/makeRunScript.py diff --git a/pkgs/applications/science/biology/sumatools/default.nix b/pkgs/applications/science/biology/sumatools/default.nix index 6f7227d7a3e..f9042f30011 100644 --- a/pkgs/applications/science/biology/sumatools/default.nix +++ b/pkgs/applications/science/biology/sumatools/default.nix @@ -23,6 +23,7 @@ in rec { sha256 = "0hwkrxzfz7m5wdjvmrhkjg8kis378iaqr5n4nhdhkwwhn8x1jn5a"; }; makeFlags = "PREFIX=$(out)"; + inherit meta; }; # Sumatra @@ -42,6 +43,7 @@ in rec { "LIBSUMAPATH=-L${sumalibs}" "PREFIX=$(out)" ]; + inherit meta; }; # Sumaclust @@ -61,5 +63,6 @@ in rec { "LIBSUMAPATH=-L${sumalibs}" "PREFIX=$(out)" ]; + inherit meta; }; } diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix index ee184943b7d..00231113d2c 100644 --- a/pkgs/applications/science/chemistry/jmol/default.nix +++ b/pkgs/applications/science/chemistry/jmol/default.nix @@ -17,14 +17,14 @@ let }; in stdenv.mkDerivation rec { - version = "14.29.42"; + version = "14.29.49"; pname = "jmol"; src = let baseVersion = "${lib.versions.major version}.${lib.versions.minor version}"; in fetchurl { url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz"; - sha256 = "0fpsicxc6aazmz45q1bgnjfwcdmxmzl9h24hpz2q1gdk9cz5aqnp"; + sha256 = "19fyr4ldvbd5rbw19hslg9fpwc42wxmyx7r3z78k6dw653vb1ml5"; }; patchPhase = '' diff --git a/pkgs/applications/science/chemistry/molden/default.nix b/pkgs/applications/science/chemistry/molden/default.nix index 274afd5fc3d..46a1d96d8d0 100644 --- a/pkgs/applications/science/chemistry/molden/default.nix +++ b/pkgs/applications/science/chemistry/molden/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, which, gfortran, libGLU, xorg } : stdenv.mkDerivation rec { - version = "6.1"; + version = "6.2"; name = "molden-${version}"; src = fetchurl { url = "ftp://ftp.cmbi.ru.nl/pub/molgraph/molden/molden${version}.tar.gz"; - sha256 = "0swbjnqlkwhy8lvjkbx8yklqj4zfphwdg6s3haawxi3dd65ij539"; + sha256 = "01m5p7v5pz1fi77var50sp1bzlvdckwr6kn4wanvic2jmvgp9q5n"; }; nativeBuildInputs = [ which ]; diff --git a/pkgs/applications/science/chemistry/octopus/default.nix b/pkgs/applications/science/chemistry/octopus/default.nix index 4b580a6cf52..6dec5b3b11f 100644 --- a/pkgs/applications/science/chemistry/octopus/default.nix +++ b/pkgs/applications/science/chemistry/octopus/default.nix @@ -1,27 +1,26 @@ -{ stdenv, fetchurl, symlinkJoin, gfortran, perl, procps -, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack +{ stdenv, fetchFromGitLab, symlinkJoin, gfortran, perl, procps +, libyaml, libxc, fftw, openblas, gsl, netcdf, arpack, autoreconfHook }: -let - version = "9.0"; - fftwAll = symlinkJoin { name ="ftw-dev-out"; paths = [ fftw.dev fftw.out ]; }; +stdenv.mkDerivation rec { + pname = "octopus"; + version = "9.1"; -in stdenv.mkDerivation { - name = "octopus-${version}"; - - src = fetchurl { - url = "http://www.tddft.org/programs/octopus/down.php?file=${version}/octopus-${version}.tar.gz"; - sha256 = "0p1gjykjnzm4m93mgjsmnxd0n2j381jk5kn3a7gkzxanixp60ilm"; + src = fetchFromGitLab { + owner = "octopus-code"; + repo = "octopus"; + rev = version; + sha256 = "1l5fqgllk7rij16q7a3la7qq6isy8a5n37vk400qcscw1v32s90h"; }; - nativeBuildInputs = [ perl procps fftw.dev ]; - buildInputs = [ libyaml gfortran libxc openblas gsl fftw.out netcdf arpack ]; + nativeBuildInputs = [ perl procps autoreconfHook ]; + buildInputs = [ libyaml gfortran libxc openblas gsl fftw netcdf arpack ]; configureFlags = [ "--with-yaml-prefix=${libyaml}" "--with-blas=-lopenblas" "--with-lapack=-lopenblas" - "--with-fftw-prefix=${fftwAll}" + "--with-fftw-prefix=${fftw.dev}" "--with-gsl-prefix=${gsl}" "--with-libxc-prefix=${libxc}" ]; diff --git a/pkgs/applications/science/chemistry/openmolcas/default.nix b/pkgs/applications/science/chemistry/openmolcas/default.nix index 70e79023c0f..bc6301e1fd4 100644 --- a/pkgs/applications/science/chemistry/openmolcas/default.nix +++ b/pkgs/applications/science/chemistry/openmolcas/default.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, fetchFromGitLab, cmake, gfortran, perl +{ stdenv, fetchFromGitLab, cmake, gfortran, perl , openblas, hdf5-cpp, python3, texlive , armadillo, openmpi, globalarrays, openssh , makeWrapper diff --git a/pkgs/applications/science/electronics/bitscope/common.nix b/pkgs/applications/science/electronics/bitscope/common.nix index 64777b5a0ac..9101f1fdbe5 100644 --- a/pkgs/applications/science/electronics/bitscope/common.nix +++ b/pkgs/applications/science/electronics/bitscope/common.nix @@ -2,7 +2,7 @@ , buildFHSUserEnv , cairo , dpkg -, gdk_pixbuf +, gdk-pixbuf , glib , gtk2-x11 , makeWrapper @@ -39,7 +39,7 @@ let libs = attrs.libs or [ atk cairo - gdk_pixbuf + gdk-pixbuf glib gtk2-x11 pango diff --git a/pkgs/applications/science/electronics/dsview/default.nix b/pkgs/applications/science/electronics/dsview/default.nix index be32f33a365..55e8a7b4ffe 100644 --- a/pkgs/applications/science/electronics/dsview/default.nix +++ b/pkgs/applications/science/electronics/dsview/default.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchFromGitHub, pkgconfig, cmake, autoreconfHook, -glib, libzip, boost, fftw, qtbase, -libusb, makeWrapper, libsigrok4dsl, libsigrokdecode4dsl +{ stdenv, fetchFromGitHub, pkgconfig, cmake, +libzip, boost, fftw, qtbase, +libusb, wrapQtAppsHook, libsigrok4dsl, libsigrokdecode4dsl }: stdenv.mkDerivation rec { @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ./install.patch ]; - nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + nativeBuildInputs = [ cmake pkgconfig wrapQtAppsHook ]; buildInputs = [ boost fftw qtbase libusb libzip libsigrokdecode4dsl libsigrok4dsl @@ -32,11 +32,6 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - postFixup = '' - wrapProgram $out/bin/DSView --suffix QT_PLUGIN_PATH : \ - ${qtbase.bin}/${qtbase.qtPluginPrefix} - ''; - meta = with stdenv.lib; { description = "A GUI program for supporting various instruments from DreamSourceLab, including logic analyzer, oscilloscope, etc"; homepage = https://www.dreamsourcelab.com/; diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix index 286dbc07f3d..ba1b9e174be 100644 --- a/pkgs/applications/science/electronics/eagle/eagle.nix +++ b/pkgs/applications/science/electronics/eagle/eagle.nix @@ -1,6 +1,6 @@ -{ stdenv, fetchurl, makeDesktopItem, patchelf +{ stdenv, fetchurl, makeDesktopItem , libXrender, libXrandr, libXcursor, libX11, libXext, libXi, libxcb -, cups , libGL, glib, nss, nspr, expat, alsaLib + , libGL, glib, nss, nspr, expat, alsaLib , qtbase, qtdeclarative, qtsvg, qtlocation, qtwebchannel, qtwebengine }: @@ -13,11 +13,11 @@ let in stdenv.mkDerivation rec { name = "eagle-${version}"; - version = "9.3.2"; + version = "9.4.2"; src = fetchurl { url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz"; - sha256 = "0xrrd2d86gxrkbqvssbg8zki40hk05h48w73b0hv7wnc7wg1msir"; + sha256 = "0lrwrvqcb91mcggmicvwjrngccsdy0f06l7a8nfgp9ckn4d9vmg2"; }; desktopItem = makeDesktopItem { diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix index c91443bf64a..ae9afd95518 100644 --- a/pkgs/applications/science/electronics/pulseview/default.nix +++ b/pkgs/applications/science/electronics/pulseview/default.nix @@ -1,13 +1,14 @@ -{ stdenv, fetchurl, pkgconfig, cmake, glib, boost, libsigrok +{ mkDerivation, lib, fetchurl, pkgconfig, cmake, glib, boost, libsigrok , libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi1, glibmm , pcre, librevisa, python3, qtbase, qtsvg }: -stdenv.mkDerivation rec { - name = "pulseview-0.4.1"; +mkDerivation rec { + pname = "pulseview"; + version = "0.4.1"; src = fetchurl { - url = "https://sigrok.org/download/source/pulseview/${name}.tar.gz"; + url = "https://sigrok.org/download/source/pulseview/${pname}-${version}.tar.gz"; sha256 = "0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy"; }; @@ -15,16 +16,15 @@ stdenv.mkDerivation rec { buildInputs = [ glib boost libsigrok libsigrokdecode libserialport libzip udev libusb1 libftdi1 glibmm - pcre librevisa python3 qtbase qtsvg + pcre librevisa python3 + qtbase qtsvg ]; - enableParallelBuilding = true; - - meta = with stdenv.lib; { + meta = with lib; { description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)"; homepage = https://sigrok.org/; license = licenses.gpl3Plus; + maintainers = with maintainers; [ bjornfor ]; platforms = platforms.linux; - maintainers = [ maintainers.bjornfor ]; }; } diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index 36a504e86fa..b531563c5c1 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "verilator-${version}"; - version = "4.014"; + version = "4.016"; src = fetchurl { url = "https://www.veripool.org/ftp/${name}.tgz"; - sha256 = "1srk9a03hbq8rdp4mma817aiq61c2hbrs66qv25zj3dfnfqigxgd"; + sha256 = "18fqm6pgscy504ql27i150fdsd2j91hw5qsnpymws3pvqj2qz2ij"; }; enableParallelBuilding = true; diff --git a/pkgs/applications/science/electronics/verilog/default.nix b/pkgs/applications/science/electronics/verilog/default.nix index 83352df18e6..f850a1bf94d 100644 --- a/pkgs/applications/science/electronics/verilog/default.nix +++ b/pkgs/applications/science/electronics/verilog/default.nix @@ -1,31 +1,40 @@ -{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison }: +{ stdenv, fetchFromGitHub, autoconf, gperf, flex, bison, readline, ncurses +, bzip2, zlib +}: stdenv.mkDerivation rec { - name = "iverilog-${version}"; - version = "2019.03.27"; + pname = "iverilog"; + version = "unstable-2019-08-01"; src = fetchFromGitHub { owner = "steveicarus"; - repo = "iverilog"; - rev = "a9388a895eb85a9d7f2924b89f839f94e1b6d7c4"; - sha256 = "01d48sy3pzg9x1xpczqrsii2ckrvgnrfj720wiz22jdn90nirhhr"; + repo = pname; + rev = "c383d2048c0bd15f5db083f14736400546fb6215"; + sha256 = "1zs0gyhws0qa315magz3w5m45v97knczdgbf2zn4d7bdb7cv417c"; }; enableParallelBuilding = true; - patchPhase = '' + prePatch = '' + substituteInPlace configure.in \ + --replace "AC_CHECK_LIB(termcap, tputs)" "AC_CHECK_LIB(termcap, tputs)" + ''; + + preConfigure = '' chmod +x $PWD/autoconf.sh $PWD/autoconf.sh ''; - buildInputs = [ autoconf gperf flex bison ]; + nativeBuildInputs = [ autoconf gperf flex bison ]; + + buildInputs = [ readline ncurses bzip2 zlib ]; - meta = { + meta = with stdenv.lib; { description = "Icarus Verilog compiler"; repositories.git = https://github.com/steveicarus/iverilog.git; - homepage = http://www.icarus.com; - license = stdenv.lib.licenses.gpl2Plus; - maintainers = with stdenv.lib.maintainers; [winden]; - platforms = with stdenv.lib.platforms; linux; + homepage = "http://iverilog.icarus.com/"; + license = licenses.lgpl21; + maintainers = with maintainers; [ winden ]; + platforms = platforms.linux; }; } diff --git a/pkgs/applications/science/logic/clprover/clprover.nix b/pkgs/applications/science/logic/clprover/clprover.nix index b6ebce68193..ae57724e4f8 100644 --- a/pkgs/applications/science/logic/clprover/clprover.nix +++ b/pkgs/applications/science/logic/clprover/clprover.nix @@ -1,4 +1,4 @@ -{ stdenv, pkgs, fetchzip }: +{ stdenv, fetchzip }: stdenv.mkDerivation rec { name = "clprover-${version}"; diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix index 2373ae43e76..10fe722d7e9 100644 --- a/pkgs/applications/science/logic/coq/default.nix +++ b/pkgs/applications/science/logic/coq/default.nix @@ -28,7 +28,7 @@ let "8.8.2" = "1lip3xja924dm6qblisk1bk0x8ai24s5xxqxphbdxj6djglj68fd"; "8.9.0" = "1dkgdjc4n1m15m1p724hhi5cyxpqbjw6rxc5na6fl3v4qjjfnizh"; "8.9.1" = "1xrq6mkhpq994bncmnijf8jwmwn961kkpl4mwwlv7j3dgnysrcv2"; - "8.10+beta1" = "19wf39i0ap2vakglgdlqxpjd3l1h5w7dp460w8y7nc1y06b2153h"; + "8.10+beta2" = "0jk7pwydhd17ab7ii69zvi4sgrr630q2lsxhckaj3sz55cpjlhal"; }."${version}"; coq-version = stdenv.lib.versions.majorMinor version; versionAtLeast = stdenv.lib.versionAtLeast coq-version; diff --git a/pkgs/applications/science/logic/cryptominisat/default.nix b/pkgs/applications/science/logic/cryptominisat/default.nix index c6b7b918eac..c9516a135c0 100644 --- a/pkgs/applications/science/logic/cryptominisat/default.nix +++ b/pkgs/applications/science/logic/cryptominisat/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, fetchpatch, cmake, python3, xxd, boost }: +{ stdenv, fetchFromGitHub, cmake, python3, xxd, boost }: stdenv.mkDerivation rec { name = "cryptominisat-${version}"; diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix index cd8a3747bea..09801f54e7e 100644 --- a/pkgs/applications/science/logic/cryptoverif/default.nix +++ b/pkgs/applications/science/logic/cryptoverif/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "cryptoverif-${version}"; - version = "2.01"; + version = "2.01pl1"; src = fetchurl { url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz"; - sha256 = "122pryci8rsdzv9qszw11g3izh78r2lvd1raahv2j7qmvgi76nab"; + sha256 = "1bkmrv3wsy8mwhrxd3z3br9zgv37c2w6443rm4s9jl0aphcgnbiw"; }; buildInputs = [ ocaml ]; diff --git a/pkgs/applications/science/logic/fast-downward/default.nix b/pkgs/applications/science/logic/fast-downward/default.nix new file mode 100644 index 00000000000..21ce6be3e6c --- /dev/null +++ b/pkgs/applications/science/logic/fast-downward/default.nix @@ -0,0 +1,55 @@ +{ stdenv, lib, fetchhg, cmake, which, python3, osi, cplex }: + +stdenv.mkDerivation rec { + name = "fast-downward-2019-05-13"; + + src = fetchhg { + url = "http://hg.fast-downward.org/"; + rev = "090f5df5d84a"; + sha256 = "14pcjz0jfzx5269axg66iq8js7lm2w3cnqrrhhwmz833prjp945g"; + }; + + nativeBuildInputs = [ cmake which ]; + buildInputs = [ python3 python3.pkgs.wrapPython osi ]; + + cmakeFlags = + lib.optional osi.withCplex [ "-DDOWNWARD_CPLEX_ROOT=${cplex}/cplex" ]; + + enableParallelBuilding = true; + + postPatch = '' + cd src + # Needed because the package tries to be too smart. + export CC="$(which $CC)" + export CXX="$(which $CXX)" + ''; + + installPhase = '' + install -Dm755 bin/downward $out/libexec/fast-downward/downward + cp -r ../translate $out/libexec/fast-downward/ + install -Dm755 ../../fast-downward.py $out/bin/fast-downward + mkdir -p $out/${python3.sitePackages} + cp -r ../../driver $out/${python3.sitePackages} + + wrapPythonProgramsIn $out/bin "$out $pythonPath" + wrapPythonProgramsIn $out/libexec/fast-downward/translate "$out $pythonPath" + # Because fast-downward calls `python translate.py` we need to return wrapped scripts back. + for i in $out/libexec/fast-downward/translate/.*-wrapped; do + name="$(basename "$i")" + name1="''${name#.}" + name2="''${name1%-wrapped}" + dir="$(dirname "$i")" + dest="$dir/$name2" + echo "Moving $i to $dest" + mv "$i" "$dest" + done + ''; + + meta = with stdenv.lib; { + description = "A domain-independent planning system"; + homepage = "http://www.fast-downward.org/"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ abbradar ]; + }; +} diff --git a/pkgs/applications/science/logic/gappa/default.nix b/pkgs/applications/science/logic/gappa/default.nix index 71114d2f9e1..7522eb4790e 100644 --- a/pkgs/applications/science/logic/gappa/default.nix +++ b/pkgs/applications/science/logic/gappa/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gmp, mpfr, boost }: stdenv.mkDerivation { - name = "gappa-1.2"; + name = "gappa-1.3.5"; src = fetchurl { - url = https://gforge.inria.fr/frs/download.php/file/34787/gappa-1.2.0.tar.gz; - sha256 = "03hfzmaf5jm54sjpbks20q7qixpmagrfbnyyc276vgmiyslk4dkh"; + url = https://gforge.inria.fr/frs/download.php/file/38044/gappa-1.3.5.tar.gz; + sha256 = "0q1wdiwqj6fsbifaayb1zkp20bz8a1my81sqjsail577jmzwi07w"; }; buildInputs = [ gmp mpfr boost.dev ]; diff --git a/pkgs/applications/science/logic/prover9/default.nix b/pkgs/applications/science/logic/prover9/default.nix index f96532b7038..a4538e1070a 100644 --- a/pkgs/applications/science/logic/prover9/default.nix +++ b/pkgs/applications/science/logic/prover9/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation { ''; meta = { - homepage = http://www.cs.unm.edu/~mccune/mace4/; + homepage = https://www.cs.unm.edu/~mccune/mace4/; license = "GPL"; description = "Automated theorem prover for first-order and equational logic"; longDescription = '' diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix index 8ba77159693..58674a4cacf 100644 --- a/pkgs/applications/science/logic/symbiyosys/default.nix +++ b/pkgs/applications/science/logic/symbiyosys/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, yosys, bash, python3 }: stdenv.mkDerivation rec { - name = "symbiyosys-${version}"; - version = "2019.04.18"; + pname = "symbiyosys"; + version = "2019.08.13"; src = fetchFromGitHub { owner = "yosyshq"; repo = "symbiyosys"; - rev = "b1de59032ef3de35e56fa420a914c2f14d2495e4"; - sha256 = "0zci1n062csswl5xxjh9fwq09p9clv95ckag3yywxq06hnqzx0r7"; + rev = "9cb542ac7a310b3dfa626349db53bed6236b670c"; + sha256 = "0c7nz740738ybk33zzlfl00cq86n31wvra8pqqkpl4ygxnwca1d6"; }; buildInputs = [ python3 yosys ]; @@ -26,15 +26,12 @@ stdenv.mkDerivation rec { substituteInPlace $out/bin/sby \ --replace "##yosys-sys-path##" \ "sys.path += [p + \"/share/yosys/python3/\" for p in [\"$out\", \"${yosys}\"]]" - substituteInPlace $out/share/yosys/python3/sby_core.py \ - --replace "/bin/bash" \ - "${bash}/bin/bash" ''; meta = { description = "Tooling for Yosys-based verification flows"; homepage = https://symbiyosys.readthedocs.io/; license = stdenv.lib.licenses.isc; - maintainers = with stdenv.lib.maintainers; [ thoughtpolice ]; - platforms = stdenv.lib.platforms.unix; + maintainers = with stdenv.lib.maintainers; [ thoughtpolice emily ]; + platforms = stdenv.lib.platforms.all; }; } diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix index f1116a27c0b..7d39aae6e3c 100644 --- a/pkgs/applications/science/logic/tlaplus/toolbox.nix +++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix @@ -1,9 +1,9 @@ { lib, fetchzip, makeWrapper, makeDesktopItem, stdenv -, jre, swt, gtk, libXtst, glib +, gtk, libXtst, glib, zlib }: let - version = "1.5.7"; + version = "1.6.0"; arch = "x86_64"; desktopItem = makeDesktopItem rec { @@ -24,7 +24,7 @@ in stdenv.mkDerivation { name = "tla-toolbox-${version}"; src = fetchzip { url = "https://tla.msr-inria.inria.fr/tlatoolbox/products/TLAToolbox-${version}-linux.gtk.${arch}.zip"; - sha256 = "0lg9sizpw5mkcnwwvmgqigkizjyz2lf1wrg48h7mg7wcv3macy4q"; + sha256 = "1mgx4p5qykf9q0p4cp6kcpc7fx8g5f2w1g40kdgas24hqwrgs3cm"; }; buildInputs = [ makeWrapper ]; @@ -34,17 +34,20 @@ in stdenv.mkDerivation { installPhase = '' mkdir -p "$out/bin" cp -r "$src" "$out/toolbox" - chmod +w "$out/toolbox" "$out/toolbox/toolbox" + chmod -R +w "$out/toolbox" patchelf \ --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ "$out/toolbox/toolbox" + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + "$(find "$out/toolbox" -name java)" + makeWrapper $out/toolbox/toolbox $out/bin/tla-toolbox \ --run "set -x; cd $out/toolbox" \ --add-flags "-data ~/.tla-toolbox" \ - --prefix PATH : "${jre}/bin" \ - --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ swt gtk libXtst glib ]}" + --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ gtk libXtst glib zlib ]}" echo -e "\nCreating TLA Toolbox icons..." pushd "$src" diff --git a/pkgs/applications/science/logic/vampire/default.nix b/pkgs/applications/science/logic/vampire/default.nix index 08ab243fb96..42963fe5f9c 100644 --- a/pkgs/applications/science/logic/vampire/default.nix +++ b/pkgs/applications/science/logic/vampire/default.nix @@ -1,19 +1,16 @@ -{ stdenv, fetchFromGitHub, fetchpatch, z3, zlib, git }: +{ stdenv, fetchFromGitHub, fetchpatch, z3, zlib }: stdenv.mkDerivation rec { - version = "4.2.2"; - name = "vampire-${version}"; + pname = "vampire"; + version = "4.4"; src = fetchFromGitHub { owner = "vprover"; repo = "vampire"; rev = version; - sha256 = "03dqjxr3cwz4h6sn9074kc6b6wjz12kpsvsi0mq2w0j5l9f8d80y"; - #fetchSubmodules = true; - #leaveDotGit = true; + sha256 = "0v2fdfnk7l5xr5c4y54r25g1nbp4vi85zv29nbklh3r7aws3w9q1"; }; - nativeBuildInputs = [ git ]; buildInputs = [ z3 zlib ]; makeFlags = [ "vampire_z3_rel" "CC:=$(CC)" "CXX:=$(CXX)" ]; diff --git a/pkgs/applications/science/logic/verifast/default.nix b/pkgs/applications/science/logic/verifast/default.nix index 22eb5d07f1c..360f75cc6f0 100644 --- a/pkgs/applications/science/logic/verifast/default.nix +++ b/pkgs/applications/science/logic/verifast/default.nix @@ -1,10 +1,10 @@ -{ stdenv, fetchurl, gtk2, gdk_pixbuf, atk, pango, glib, cairo, freetype +{ stdenv, fetchurl, gtk2, gdk-pixbuf, atk, pango, glib, cairo, freetype , fontconfig, libxml2, gnome2 }: let libPath = stdenv.lib.makeLibraryPath - [ stdenv.cc.libc stdenv.cc.cc gtk2 gdk_pixbuf atk pango glib cairo + [ stdenv.cc.libc stdenv.cc.cc gtk2 gdk-pixbuf atk pango glib cairo freetype fontconfig libxml2 gnome2.gtksourceview ] + ":${stdenv.cc.cc.lib}/lib64:$out/libexec"; diff --git a/pkgs/applications/science/logic/why3/configure.patch b/pkgs/applications/science/logic/why3/configure.patch new file mode 100644 index 00000000000..3eebf3cf165 --- /dev/null +++ b/pkgs/applications/science/logic/why3/configure.patch @@ -0,0 +1,11 @@ +diff --git a/configure b/configure +--- a/configure ++++ b/configure +@@ -4029,7 +4029,6 @@ fi + + if test "$USEOCAMLFIND" = yes; then + OCAMLFINDLIB=$(ocamlfind printconf stdlib) +- OCAMLFIND=$(which ocamlfind) + if test "$OCAMLFINDLIB" != "$OCAMLLIB"; then + USEOCAMLFIND=no; + echo "but your ocamlfind is not compatible with your ocamlc:" diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix index a3b369ad54a..bd538dc6c75 100644 --- a/pkgs/applications/science/logic/why3/default.nix +++ b/pkgs/applications/science/logic/why3/default.nix @@ -1,4 +1,5 @@ -{ fetchurl, stdenv, ocamlPackages, coq }: +{ callPackage, fetchurl, stdenv +, ocamlPackages, coqPackages, rubber, hevea, emacs }: stdenv.mkDerivation rec { name = "why3-${version}"; @@ -9,14 +10,34 @@ stdenv.mkDerivation rec { sha256 = "0xz001jhi71ja8vqrjz27v63bidrzj4qvg1yqarq6p4dmpxhk348"; }; - buildInputs = (with ocamlPackages; [ - ocaml findlib num lablgtk ocamlgraph zarith menhir ]) ++ - stdenv.lib.optionals (ocamlPackages.ocaml == coq.ocamlPackages.ocaml ) [ - coq ocamlPackages.camlp5 - ]; + buildInputs = with ocamlPackages; [ + ocaml findlib ocamlgraph zarith menhir + # Compressed Sessions + # Emacs compilation of why3.el + emacs + # Documentation + rubber hevea + # GUI + lablgtk + # WebIDE + js_of_ocaml js_of_ocaml-ppx + # Coq Support + coqPackages.coq coqPackages.flocq ocamlPackages.camlp5 + ]; + + propagatedBuildInputs = with ocamlPackages; [ camlzip num ]; + + enableParallelBuilding = true; + + # Remove unnecessary call to which + patches = [ ./configure.patch ]; + + configureFlags = [ "--enable-verbose-make" ]; installTargets = [ "install" "install-lib" ]; + passthru.withProvers = callPackage ./with-provers.nix {}; + meta = with stdenv.lib; { description = "A platform for deductive program verification"; homepage = "http://why3.lri.fr/"; diff --git a/pkgs/applications/science/logic/why3/with-provers.nix b/pkgs/applications/science/logic/why3/with-provers.nix new file mode 100644 index 00000000000..3528dbd3a64 --- /dev/null +++ b/pkgs/applications/science/logic/why3/with-provers.nix @@ -0,0 +1,30 @@ +{ stdenv, makeWrapper, runCommand, symlinkJoin, why3 }: +provers: +let configAwkScript = runCommand "why3-conf.awk" { inherit provers; } + '' + for p in $provers; do + for b in $p/bin/*; do + BASENAME=$(basename $b) + echo "/^command =/{ gsub(\"$BASENAME\", \"$b\") }" >> $out + done + done + echo '{ print }' >> $out + ''; +in stdenv.mkDerivation { + name = "${why3.name}-with-provers"; + + phases = [ "buildPhase" "installPhase" ]; + + buildInputs = [ why3 makeWrapper ] ++ provers; + + buildPhase = '' + mkdir -p $out/share/why3/ + why3 config --detect-provers -C $out/share/why3/why3.conf + awk -i inplace -f ${configAwkScript} $out/share/why3/why3.conf + ''; + + installPhase = '' + mkdir -p $out/bin + makeWrapper ${why3}/bin/why3 $out/bin/why3 --add-flags "--extra-config $out/share/why3/why3.conf" + ''; +} diff --git a/pkgs/applications/science/machine-learning/fasttext/default.nix b/pkgs/applications/science/machine-learning/fasttext/default.nix index 0ae9a74d0d0..0de54572862 100644 --- a/pkgs/applications/science/machine-learning/fasttext/default.nix +++ b/pkgs/applications/science/machine-learning/fasttext/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "fasttext"; - version = "0.2.0"; + version = "0.9.1"; src = fetchFromGitHub { owner = "facebookresearch"; repo = "fastText"; - rev = version; - sha256 = "1fcrz648r2s80bf7vc0l371xillz5jk3ldaiv9jb7wnsyri831b4"; + rev = "v${version}"; + sha256 = "1cbzz98qn8aypp4r5kwwwc9wiq5bwzv51kcsb15xjfs9lz8h3rii"; }; nativeBuildInputs = [ cmake ]; diff --git a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix index b4ff9fc1821..6eec10e958c 100644 --- a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix +++ b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix @@ -1,4 +1,4 @@ -{ fetchzip, unzip +{ fetchzip }: let fetchzip' = args: (fetchzip args).overrideAttrs (old: { UNZIP = "-j -P iagreetotheeula"; }); diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix index ed107765b46..a791f9a5772 100644 --- a/pkgs/applications/science/math/R/default.nix +++ b/pkgs/applications/science/math/R/default.nix @@ -8,11 +8,11 @@ }: stdenv.mkDerivation rec { - name = "R-3.6.0"; + name = "R-3.6.1"; src = fetchurl { url = "https://cran.r-project.org/src/base/R-3/${name}.tar.gz"; - sha256 = "02bmylmzrm9sdidirmwy233lghmd2346z725ca71ari68lzarz1n"; + sha256 = "128kifbq0w25y8aq77w289ddax5i5w2djcfsqgffrb3i7syrxajv"; }; dontUseImakeConfigure = true; @@ -27,10 +27,6 @@ stdenv.mkDerivation rec { patches = [ ./no-usr-local-search-paths.patch - (fetchpatch { - url = "https://github.com/wch/r-source/commit/aeb75e12863019be06fe6c762ab705bf5ed8b38c.patch"; - sha256 = "03xv1g1yw1dbhx4paw6pn6hkawj8sny86km3748l1vnasbham82g"; - }) ]; prePatch = stdenv.lib.optionalString stdenv.isDarwin '' diff --git a/pkgs/applications/science/math/caffe/default.nix b/pkgs/applications/science/math/caffe/default.nix index 9ee56041ed3..e8171bcb256 100644 --- a/pkgs/applications/science/math/caffe/default.nix +++ b/pkgs/applications/science/math/caffe/default.nix @@ -1,9 +1,9 @@ -{ config, stdenv, lib, runCommand +{ config, stdenv, lib , fetchFromGitHub , fetchurl , cmake , boost -, google-gflags +, gflags , glog , hdf5-cpp , opencv3 @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { cmakeFlags = # 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") + [ (if pythonSupport then "-Dpython_version=${python.pythonVersion}" else "-DBUILD_python=OFF") "-DBLAS=open" ] ++ (if cudaSupport then [ "-DCUDA_ARCH_NAME=All" @@ -63,7 +63,7 @@ stdenv.mkDerivation rec { ++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"] ++ ["-DUSE_LMDB=${toggle lmdbSupport}"]; - buildInputs = [ boost google-gflags glog protobuf hdf5-cpp opencv3 openblas ] + buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv3 openblas ] ++ lib.optional cudaSupport cudatoolkit ++ lib.optional cudnnSupport cudnn ++ lib.optional lmdbSupport lmdb @@ -73,9 +73,17 @@ stdenv.mkDerivation rec { ++ lib.optionals stdenv.isDarwin [ Accelerate CoreGraphics CoreVideo ] ; - propagatedBuildInputs = lib.optional pythonSupport python.pkgs.protobuf; - - outputs = [ "bin" "out"]; + propagatedBuildInputs = lib.optionals pythonSupport ( + # requirements.txt + let pp = python.pkgs; in ([ + pp.numpy pp.scipy pp.scikitimage pp.h5py + pp.matplotlib pp.ipython pp.networkx pp.nose + pp.pandas pp.dateutil pp.protobuf pp.gflags + pp.pyyaml pp.pillow pp.six + ] ++ lib.optional leveldbSupport pp.leveldb) + ); + + outputs = [ "bin" "out" ]; propagatedBuildOutputs = []; # otherwise propagates out -> bin cycle patches = [ diff --git a/pkgs/applications/science/math/caffe/python.patch b/pkgs/applications/science/math/caffe/python.patch index b1bed6c174b..dac5071aa08 100644 --- a/pkgs/applications/science/math/caffe/python.patch +++ b/pkgs/applications/science/math/caffe/python.patch @@ -64,7 +64,7 @@ index 4a5bac47..be026d43 100644 - 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) ++ 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/pkgs/applications/science/math/calc/default.nix b/pkgs/applications/science/math/calc/default.nix index 24cddfb9a1c..348c1e75086 100644 --- a/pkgs/applications/science/math/calc/default.nix +++ b/pkgs/applications/science/math/calc/default.nix @@ -15,7 +15,6 @@ stdenv.mkDerivation rec { patchPhase = '' substituteInPlace Makefile \ - --replace 'all: check_include' 'all:' \ --replace '-install_name ''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcalc''${LIB_EXT_VERSION}' \ --replace '-install_name ''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' '-install_name ''${T}''${LIBDIR}/libcustcalc''${LIB_EXT_VERSION}' ''; @@ -25,7 +24,7 @@ stdenv.mkDerivation rec { makeFlags = [ "T=$(out)" - "INCDIR=${lib.getDev stdenv.cc.libc}/include" + "INCDIR=" "BINDIR=/bin" "LIBDIR=/lib" "CALC_SHAREDIR=/share/calc" diff --git a/pkgs/applications/science/math/calculix/calculix.patch b/pkgs/applications/science/math/calculix/calculix.patch new file mode 100644 index 00000000000..311421f2ef5 --- /dev/null +++ b/pkgs/applications/science/math/calculix/calculix.patch @@ -0,0 +1,31 @@ +diff --git a/ccx_2.15/src/Makefile b/ccx_2.15/src/Makefile +index 9cab2fc..6e977b8 100755 +--- a/ccx_2.15/src/Makefile ++++ b/ccx_2.15/src/Makefile +@@ -1,6 +1,6 @@ + + CFLAGS = -Wall -O3 -I ../../../SPOOLES.2.2 -DARCH="Linux" -DSPOOLES -DARPACK -DMATRIXSTORAGE -DNETWORKOUT +-FFLAGS = -Wall -O3 ++FFLAGS = -Wall -O3 + + CC=cc + FC=gfortran +@@ -18,15 +18,10 @@ OCCXF = $(SCCXF:.f=.o) + OCCXC = $(SCCXC:.c=.o) + OCCXMAIN = $(SCCXMAIN:.c=.o) + +-DIR=../../../SPOOLES.2.2 ++LIBS = -lpthread -lm -lc -lspooles -larpack -lopenblas + +-LIBS = \ +- $(DIR)/spooles.a \ +- ../../../ARPACK/libarpack_INTEL.a \ +- -lpthread -lm -lc +- +-ccx_2.15: $(OCCXMAIN) ccx_2.15.a $(LIBS) +- ./date.pl; $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC) -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS) ++ccx_2.15: $(OCCXMAIN) ccx_2.15.a ++ $(CC) $(CFLAGS) -c ccx_2.15.c; $(FC) -Wall -O3 -o $@ $(OCCXMAIN) ccx_2.15.a $(LIBS) + + ccx_2.15.a: $(OCCXF) $(OCCXC) + ar vr $@ $? diff --git a/pkgs/applications/science/math/calculix/default.nix b/pkgs/applications/science/math/calculix/default.nix new file mode 100644 index 00000000000..24d5f99ec32 --- /dev/null +++ b/pkgs/applications/science/math/calculix/default.nix @@ -0,0 +1,39 @@ +{ stdenv, fetchurl, gfortran, arpack, spooles, openblas }: + +stdenv.mkDerivation rec { + pname = "calculix"; + version = "2.15"; + + src = fetchurl { + url = "http://www.dhondt.de/ccx_${version}.src.tar.bz2"; + sha256 = "0d4axfxgm3ag4p2vx9rjcky7c122k99a2nhv1jv53brm35rblzdw"; + }; + + nativeBuildInputs = [ gfortran ]; + + buildInputs = [ arpack spooles openblas ]; + + NIX_CFLAGS_COMPILE = [ + "-I${spooles}/include/spooles" + ]; + + patches = [ + ./calculix.patch + ]; + + postPatch = '' + cd ccx*/src + ''; + + installPhase = '' + install -Dm0755 ccx_${version} $out/bin/ccx + ''; + + meta = with stdenv.lib; { + homepage = "http://www.calculix.de/"; + description = "Three-dimensional structural finite element program"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ gebner ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/science/math/cplex/default.nix b/pkgs/applications/science/math/cplex/default.nix index dc0e9ea1aa5..a14839d3ecc 100644 --- a/pkgs/applications/science/math/cplex/default.nix +++ b/pkgs/applications/science/math/cplex/default.nix @@ -71,6 +71,11 @@ stdenv.mkDerivation rec { fi done ''; + + passthru = { + libArch = "x86-64_linux"; + libSuffix = "${version}0"; + }; meta = with stdenv.lib; { description = "Optimization solver for mathematical programming"; diff --git a/pkgs/applications/science/math/gap/default.nix b/pkgs/applications/science/math/gap/default.nix index 6beb87e9f02..7eb10d1f952 100644 --- a/pkgs/applications/science/math/gap/default.nix +++ b/pkgs/applications/science/math/gap/default.nix @@ -45,7 +45,6 @@ let "sophus-*" "tomlib-*" ]; - standardPackages = requiredPackages ++ autoloadedPackages; keepAll = keepAllPackages || (packageSet == "full"); packagesToKeep = requiredPackages ++ lib.optionals (packageSet == "standard") autoloadedPackages; @@ -62,11 +61,11 @@ in stdenv.mkDerivation rec { pname = "gap"; # https://www.gap-system.org/Releases/ - version = "4.10.1"; + version = "4.10.2"; src = fetchurl { url = "https://www.gap-system.org/pub/gap/gap-${lib.versions.major version}.${lib.versions.minor version}/tar.bz2/gap-${version}.tar.bz2"; - sha256 = "136s0zvhcw41fshj5zgsrjcy2kd58cdh2m3ddp5rdizi4rx54f10"; + sha256 = "0cp6ddk0469zzv1m1vair6gm27ic6c5m77ri8rn0znq3gaps6x94"; }; # remove all non-essential packages (which take up a lot of space) diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix index 80b2764cdc0..1d96c0039ad 100644 --- a/pkgs/applications/science/math/gmsh/default.nix +++ b/pkgs/applications/science/math/gmsh/default.nix @@ -1,28 +1,26 @@ { stdenv, fetchurl, cmake, openblasCompat, gfortran, gmm, fltk, libjpeg -, zlib, libGLU_combined, libGLU, xorg }: +, zlib, libGLU_combined, libGLU, xorg, opencascade-occt }: -let version = "4.3.0"; in - -stdenv.mkDerivation { - name = "gmsh-${version}"; +stdenv.mkDerivation rec { + pname = "gmsh"; + version = "4.4.1"; src = fetchurl { url = "http://gmsh.info/src/gmsh-${version}-source.tgz"; - sha256 = "0ab4p2dilk4rfw1qc817rmy56qkhxaajpnqdnvahbhcbf3skd8jl"; + sha256 = "1p7hibmsgv961lfkzdxlgcvmcb0q155m2sp60r97cjsfzhw68g45"; }; buildInputs = [ openblasCompat gmm fltk libjpeg zlib libGLU_combined libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE + opencascade-occt ]; nativeBuildInputs = [ cmake gfortran ]; - enableParallelBuilding = true; - meta = { description = "A three-dimensional finite element mesh generator"; - homepage = http://gmsh.info/; + homepage = "http://gmsh.info/"; platforms = [ "x86_64-linux" ]; license = stdenv.lib.licenses.gpl2Plus; }; diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix index be14d141128..ee9bdcc6f1b 100644 --- a/pkgs/applications/science/math/gurobi/default.nix +++ b/pkgs/applications/science/math/gurobi/default.nix @@ -1,8 +1,10 @@ -{ stdenv, fetchurl, autoPatchelfHook, python }: +{ stdenv, lib, fetchurl, autoPatchelfHook, python }: -stdenv.mkDerivation rec { +let + majorVersion = "8.1"; +in stdenv.mkDerivation rec { name = "gurobi-${version}"; - version = "8.1.0"; + version = "${majorVersion}.0"; src = with stdenv.lib; fetchurl { url = "http://packages.gurobi.com/${versions.majorMinor version}/gurobi${version}_linux64.tar.gz"; @@ -44,6 +46,8 @@ stdenv.mkDerivation rec { ln -s $out/lib/gurobi-javadoc.jar $out/share/java/ ''; + passthru.libSuffix = lib.replaceStrings ["."] [""] majorVersion; + meta = with stdenv.lib; { description = "Optimization solver for mathematical programming"; homepage = https://www.gurobi.com; diff --git a/pkgs/applications/science/math/mathematica/11.nix b/pkgs/applications/science/math/mathematica/11.nix new file mode 100644 index 00000000000..521cb70099b --- /dev/null +++ b/pkgs/applications/science/math/mathematica/11.nix @@ -0,0 +1,150 @@ +{ stdenv +, coreutils +, patchelf +, requireFile +, callPackage +, alsaLib +, dbus +, fontconfig +, freetype +, gcc +, glib +, ncurses +, opencv +, openssl +, unixODBC +, xkeyboard_config +, xorg +, zlib +, libxml2 +, libuuid +, lang ? "en" +, libGL +, libGLU +}: + +let + l10n = + import ./l10ns.nix { + lib = stdenv.lib; + inherit requireFile lang; + majorVersion = "11"; + }; +in +stdenv.mkDerivation rec { + inherit (l10n) version name src; + + buildInputs = [ + coreutils + patchelf + alsaLib + coreutils + dbus + fontconfig + freetype + gcc.cc + gcc.libc + glib + ncurses + opencv + openssl + unixODBC + xkeyboard_config + libxml2 + libuuid + zlib + libGL + libGLU + ] ++ (with xorg; [ + libX11 + libXext + libXtst + libXi + libXmu + libXrender + libxcb + libXcursor + libXfixes + libXrandr + libICE + libSM + ]); + + ldpath = stdenv.lib.makeLibraryPath buildInputs + + stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") + (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs); + + phases = "unpackPhase installPhase fixupPhase"; + + unpackPhase = '' + echo "=== Extracting makeself archive ===" + # find offset from file + offset=$(${stdenv.shell} -c "$(grep -axm1 -e 'offset=.*' $src); echo \$offset" $src) + dd if="$src" ibs=$offset skip=1 | tar -xf - + cd Unix + ''; + + installPhase = '' + cd Installer + # don't restrict PATH, that has already been done + sed -i -e 's/^PATH=/# PATH=/' MathInstaller + sed -i -e 's/\/bin\/bash/\/bin\/sh/' MathInstaller + + echo "=== Running MathInstaller ===" + ./MathInstaller -auto -createdir=y -execdir=$out/bin -targetdir=$out/libexec/Mathematica -silent + + # Fix library paths + cd $out/libexec/Mathematica/Executables + for path in mathematica MathKernel Mathematica WolframKernel wolfram math; do + sed -i -e 's#export LD_LIBRARY_PATH$#export LD_LIBRARY_PATH=${zlib}/lib:\''${LD_LIBRARY_PATH}#' $path + done + + # Fix xkeyboard config path for Qt + for path in mathematica Mathematica; do + line=$(grep -n QT_PLUGIN_PATH $path | sed 's/:.*//') + sed -i -e "$line iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"" $path + done + ''; + + preFixup = '' + echo "=== PatchElfing away ===" + # This code should be a bit forgiving of errors, unfortunately + set +e + find $out/libexec/Mathematica/SystemFiles -type f -perm -0100 | while read f; do + type=$(readelf -h "$f" 2>/dev/null | grep 'Type:' | sed -e 's/ *Type: *\([A-Z]*\) (.*/\1/') + if [ -z "$type" ]; then + : + elif [ "$type" == "EXEC" ]; then + echo "patching $f executable <<" + patchelf --shrink-rpath "$f" + patchelf \ + --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ + --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ + "$f" \ + && patchelf --shrink-rpath "$f" \ + || echo unable to patch ... ignoring 1>&2 + elif [ "$type" == "DYN" ]; then + echo "patching $f library <<" + patchelf \ + --set-rpath "$(patchelf --print-rpath "$f"):${ldpath}" \ + "$f" \ + && patchelf --shrink-rpath "$f" \ + || echo unable to patch ... ignoring 1>&2 + else + echo "not patching $f <<: unknown elf type" + fi + done + ''; + + # all binaries are already stripped + dontStrip = true; + + # we did this in prefixup already + dontPatchELF = true; + + meta = { + description = "Wolfram Mathematica computational software system"; + homepage = http://www.wolfram.com/mathematica/; + license = stdenv.lib.licenses.unfree; + }; +} diff --git a/pkgs/applications/science/math/mathematica/default.nix b/pkgs/applications/science/math/mathematica/default.nix index 165a5660557..ca9a87abe13 100644 --- a/pkgs/applications/science/math/mathematica/default.nix +++ b/pkgs/applications/science/math/mathematica/default.nix @@ -1,6 +1,7 @@ { stdenv , coreutils , patchelf +, requireFile , callPackage , alsaLib , dbus @@ -24,10 +25,10 @@ let l10n = - with stdenv.lib; - with callPackage ./l10ns.nix {}; - flip (findFirst (l: l.lang == lang)) l10ns - (throw "Language '${lang}' not supported"); + import ./l10ns.nix { + lib = stdenv.lib; + inherit requireFile lang; + }; in stdenv.mkDerivation rec { inherit (l10n) version name src; @@ -72,8 +73,6 @@ stdenv.mkDerivation rec { + stdenv.lib.optionalString (stdenv.hostPlatform.system == "x86_64-linux") (":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs); - phases = "unpackPhase installPhase fixupPhase"; - unpackPhase = '' echo "=== Extracting makeself archive ===" # find offset from file @@ -99,8 +98,7 @@ stdenv.mkDerivation rec { # Fix xkeyboard config path for Qt for path in mathematica Mathematica; do - line=$(grep -n QT_PLUGIN_PATH $path | sed 's/:.*//') - sed -i -e "$line iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"" $path + sed -i -e "2iexport QT_XKB_CONFIG_ROOT=\"${xkeyboard_config}/share/X11/xkb\"\n" $path done ''; @@ -134,15 +132,19 @@ stdenv.mkDerivation rec { done ''; + dontBuild = true; + # all binaries are already stripped dontStrip = true; # we did this in prefixup already dontPatchELF = true; - meta = { + meta = with stdenv.lib; { description = "Wolfram Mathematica computational software system"; homepage = http://www.wolfram.com/mathematica/; - license = stdenv.lib.licenses.unfree; + license = licenses.unfree; + maintainers = with maintainers; [ herberteuler ]; + platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix index 065360a112d..51fb489be7e 100644 --- a/pkgs/applications/science/math/mathematica/l10ns.nix +++ b/pkgs/applications/science/math/mathematica/l10ns.nix @@ -1,10 +1,19 @@ -{ lib, requireFile }: +{ lib +, requireFile +, lang +, majorVersion ? null +}: -with lib; -{ - l10ns = flip map +let allVersions = with lib; flip map + # N.B. Versions in this list should be ordered from newest to oldest. [ { + version = "12.0.0"; + lang = "en"; + language = "English"; + sha256 = "b9fb71e1afcc1d72c200196ffa434512d208fa2920e207878433f504e58ae9d7"; + } + { version = "11.3.0"; lang = "en"; language = "English"; @@ -30,4 +39,16 @@ with lib; inherit sha256; }; }); -} +minVersion = + with lib; + if majorVersion == null + then elemAt (builtins.splitVersion (elemAt allVersions 0).version) 0 + else majorVersion; +maxVersion = toString (1 + builtins.fromJSON minVersion); +in +with lib; +findFirst (l: (l.lang == lang + && l.version >= minVersion + && l.version < maxVersion)) + (throw "Version ${minVersion} in language ${lang} not supported") + allVersions diff --git a/pkgs/applications/science/math/pari/gp2c.nix b/pkgs/applications/science/math/pari/gp2c.nix index 4915e42025b..86bd2e84367 100644 --- a/pkgs/applications/science/math/pari/gp2c.nix +++ b/pkgs/applications/science/math/pari/gp2c.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "gp2c-${version}"; - version = "0.0.11pl1"; + version = "0.0.11pl2"; src = fetchurl { url = "https://pari.math.u-bordeaux.fr/pub/pari/GP2C/${name}.tar.gz"; - sha256 = "1c6f6vmncw032kfzrfyr8bynw6yd3faxpy2285r009fmr0zxfs5s"; + sha256 = "0wqsf05wgkqvmmsx7jinvzdqav6rl56sr8haibgs31nzz4x9xz9g"; }; buildInputs = [ pari perl ]; diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix index 4da3a3f3d7b..b4d82b9583c 100644 --- a/pkgs/applications/science/math/qalculate-gtk/default.nix +++ b/pkgs/applications/science/math/qalculate-gtk/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { pname = "qalculate-gtk"; - version = "3.2.0"; + version = "3.3.0"; src = fetchFromGitHub { owner = "qalculate"; repo = "qalculate-gtk"; rev = "v${version}"; - sha256 = "1yhhfqcxi1b7dfrl8qh16l9iwgzvw1p0hhl7nnjpxhdwxz880sv0"; + sha256 = "1z2d32dcvdd66114j3km58xfk80hc5rd0zrh2fgz1azv8r4cqq1b"; }; patchPhase = '' diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index 92ec32d5cc5..caf51c3da25 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -7,7 +7,7 @@ # is always preferred, see `sage-src.nix` for that. let - inherit (pkgs) fetchurl symlinkJoin callPackage nodePackages; + inherit (pkgs) symlinkJoin callPackage nodePackages; # https://trac.sagemath.org/ticket/15980 for tracking of python3 support python = pkgs.python2.override { @@ -33,7 +33,7 @@ let # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies sagelib = self.callPackage ./sagelib.nix { inherit flint ecl arb; - inherit sage-src pynac singular; + inherit sage-src env-locations pynac singular; linbox = pkgs.linbox.override { withSage = true; }; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; @@ -130,7 +130,7 @@ let singular = pkgs.singular.override { inherit flint; }; # https://trac.sagemath.org/ticket/26625 - maxima-ecl = pkgs.maxima-ecl-5_41; + maxima-ecl = pkgs.maxima-ecl; # *not* to confuse with the python package "pynac" pynac = pkgs.pynac.override { inherit singular flint; }; diff --git a/pkgs/applications/science/math/sage/dist-tests.nix b/pkgs/applications/science/math/sage/dist-tests.nix new file mode 100644 index 00000000000..24a86a8f37a --- /dev/null +++ b/pkgs/applications/science/math/sage/dist-tests.nix @@ -0,0 +1,17 @@ +# Lists past failures and files associated with it. The intention is to build +# up a subset of a testsuite that catches 95% of failures that are relevant for +# distributions while only taking ~5m to run. This in turn makes it more +# reasonable to re-test sage on dependency changes and makes it easier for +# users to override the sage derivation. +# This is an experiment for now. If it turns out that there really is a small +# subset of files responsible for the vast majority of packaging tests, we can +# think about moving this upstream. +[ + "src/sage/env.py" # [1] + "src/sage/misc/persist.pyx" # [1] + "src/sage/misc/inline_fortran.py" # [1] + "src/sage/repl/ipython_extension.py" # [1] +] + +# Numbered list of past failures to annotate files with +# [1] PYTHONPATH related issue https://github.com/NixOS/nixpkgs/commit/ec7f569211091282410050e89e68832d4fe60528 diff --git a/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch b/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch new file mode 100644 index 00000000000..e687281ad1a --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/configurationpy-error-verbose.patch @@ -0,0 +1,19 @@ +diff --git a/src/sage/repl/configuration.py b/src/sage/repl/configuration.py +index 67d7d2accf..18279581e2 100644 +--- a/src/sage/repl/configuration.py ++++ b/src/sage/repl/configuration.py +@@ -9,10 +9,11 @@ the IPython simple prompt is being used:: + sage: cmd = 'print([sys.stdin.isatty(), sys.stdout.isatty()])' + sage: import pexpect + sage: output = pexpect.run( +- ....: 'bash -c \'echo "{0}" | sage\''.format(cmd), ++ ....: 'bash -c \'export SAGE_BANNER=no; echo "{0}" | sage\''.format(cmd), + ....: ).decode('utf-8', 'surrogateescape') +- sage: 'sage: [False, True]' in output +- True ++ sage: print(output) ++ sage...[False, True] ++ sage...Exiting Sage ... + """ + + #***************************************************************************** diff --git a/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch b/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch deleted file mode 100644 index 9e3f0f5ae88..00000000000 --- a/pkgs/applications/science/math/sage/patches/do-not-test-package-manifests.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/sage/misc/package.py b/src/sage/misc/package.py -index 3bca15d53b..7cf04ff8d1 100644 ---- a/src/sage/misc/package.py -+++ b/src/sage/misc/package.py -@@ -478,16 +478,16 @@ def package_manifest(package): - - EXAMPLES:: - -- sage: from sage.misc.package import package_manifest -- sage: sagetex_manifest = package_manifest('sagetex') -- sage: sagetex_manifest['package_name'] == 'sagetex' -+ sage: from sage.misc.package import package_manifest # optional - buildsystem -+ sage: sagetex_manifest = package_manifest('sagetex') # optional - buildsystem -+ sage: sagetex_manifest['package_name'] == 'sagetex' # optional - buildsystem - True -- sage: 'files' in sagetex_manifest -+ sage: 'files' in sagetex_manifest # optional - buildsystem - True - - Test a nonexistent package:: - -- sage: package_manifest('dummy-package') -+ sage: package_manifest('dummy-package') # optional - buildsystem - Traceback (most recent call last): - ... - KeyError: 'dummy-package' diff --git a/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch new file mode 100644 index 00000000000..933344aa559 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch @@ -0,0 +1,57 @@ +diff --git a/src/sage_setup/docbuild/__init__.py b/src/sage_setup/docbuild/__init__.py +index 0f2700168a..60f71357d2 100644 +--- a/src/sage_setup/docbuild/__init__.py ++++ b/src/sage_setup/docbuild/__init__.py +@@ -86,26 +86,6 @@ def builder_helper(type): + """ + Returns a function which builds the documentation for + output type ``type``. +- +- TESTS: +- +- Check that :trac:`25161` has been resolved:: +- +- sage: from sage_setup.docbuild import DocBuilder, setup_parser +- sage: DocBuilder._options = setup_parser().parse_args([])[0] # builder_helper needs _options to be set +- +- sage: import sage_setup.docbuild.sphinxbuild +- sage: def raiseBaseException(): +- ....: raise BaseException("abort pool operation") +- sage: original_runsphinx, sage_setup.docbuild.sphinxbuild.runsphinx = sage_setup.docbuild.sphinxbuild.runsphinx, raiseBaseException +- +- sage: from sage_setup.docbuild import builder_helper, build_many, build_ref_doc +- sage: helper = builder_helper("html") +- sage: try: +- ....: build_many(build_ref_doc, [("docname", "en", "html", {})]) +- ....: except Exception as E: +- ....: "Non-exception during docbuild: abort pool operation" in str(E) +- True + """ + def f(self, *args, **kwds): + output_dir = self._output_dir(type) +@@ -127,10 +107,9 @@ def builder_helper(type): + logger.debug(build_command) + + # Run Sphinx with Sage's special logger +- sys.argv = ["sphinx-build"] + build_command.split() +- from .sphinxbuild import runsphinx ++ args = "python -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split() + try: +- runsphinx() ++ subprocess.check_call(args) + except Exception: + if ABORT_ON_ERROR: + raise +diff --git a/src/sage_setup/docbuild/sphinxbuild.py b/src/sage_setup/docbuild/sphinxbuild.py +index 9a2fba79bc..77c8ed3592 100644 +--- a/src/sage_setup/docbuild/sphinxbuild.py ++++ b/src/sage_setup/docbuild/sphinxbuild.py +@@ -318,3 +318,8 @@ def runsphinx(): + sys.stderr = saved_stderr + sys.stdout.flush() + sys.stderr.flush() ++ ++if __name__ == '__main__': ++ import sys ++ sys.argv[0] = "sphinx-build" ++ runsphinx() diff --git a/pkgs/applications/science/math/sage/patches/sympow-cache.patch b/pkgs/applications/science/math/sage/patches/sympow-cache.patch new file mode 100644 index 00000000000..20020d610f8 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/sympow-cache.patch @@ -0,0 +1,21 @@ +diff --git a/src/sage/lfunctions/sympow.py b/src/sage/lfunctions/sympow.py +index 1640ac4f6a..03578be7b8 100644 +--- a/src/sage/lfunctions/sympow.py ++++ b/src/sage/lfunctions/sympow.py +@@ -50,6 +50,7 @@ from __future__ import print_function, absolute_import + + import os + ++from sage.env import DOT_SAGE + from sage.structure.sage_object import SageObject + from sage.misc.all import pager, verbose + import sage.rings.all +@@ -76,7 +77,7 @@ class Sympow(SageObject): + """ + Used to call sympow with given args + """ +- cmd = 'sympow %s'%args ++ cmd = 'env SYMPOW_CACHEDIR="%s/sympow///" sympow %s' % (DOT_SAGE, args) + v = os.popen(cmd).read().strip() + verbose(v, level=2) + return v diff --git a/pkgs/applications/science/math/sage/patches/threejs-offline.patch b/pkgs/applications/science/math/sage/patches/threejs-offline.patch new file mode 100644 index 00000000000..62b2f114bd6 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/threejs-offline.patch @@ -0,0 +1,64 @@ +diff --git a/build/pkgs/threejs/spkg-src b/build/pkgs/threejs/spkg-src +index 91780d813c..254b850a24 100755 +--- a/build/pkgs/threejs/spkg-src ++++ b/build/pkgs/threejs/spkg-src +@@ -20,9 +20,17 @@ URL3="https://raw.githubusercontent.com/mrdoob/three.js/${GIT_VERSION}/LICENSE" + echo "Downloading $URL3" + curl -OL "$URL3" + ++# Set up directory structure ++ ++mkdir build ++mv three.min.js build ++ ++mkdir -p examples/js/controls ++mv OrbitControls.js examples/js/controls ++ + # Package +-tar czf "$SAGE_ROOT/upstream/threejs-${GIT_VERSION}.tar.gz" 'three.min.js' 'OrbitControls.js' 'LICENSE' +-rm -rf 'three.min.js' 'OrbitControls.js' 'LICENSE' ++tar czf "$SAGE_ROOT/upstream/threejs-${GIT_VERSION}.tar.gz" build examples 'LICENSE' ++rm -rf 'build' 'examples' 'LICENSE' + + # Update package info + echo "${GIT_VERSION}" > 'package-version.txt' +diff --git a/src/sage/repl/rich_output/backend_ipython.py b/src/sage/repl/rich_output/backend_ipython.py +index 7c27d48a21..8bf4861a35 100644 +--- a/src/sage/repl/rich_output/backend_ipython.py ++++ b/src/sage/repl/rich_output/backend_ipython.py +@@ -411,10 +411,15 @@ class BackendIPythonCommandline(BackendIPython): + sage: backend.threejs_offline_scripts() + '...<script ...</script>...' + """ +- from sage.env import SAGE_SHARE ++ from sage.env import THREEJS_DIR + +- scripts = [os.path.join(SAGE_SHARE, 'threejs', script) +- for script in ['three.min.js', 'OrbitControls.js']] ++ scripts = [ ++ os.path.join(THREEJS_DIR, script) ++ for script in [ ++ 'build/three.min.js', ++ 'examples/js/controls/OrbitControls.js', ++ ] ++ ] + + if sys.platform == 'cygwin': + import cygwin +@@ -594,13 +599,13 @@ class BackendIPythonNotebook(BackendIPython): + sage: from sage.repl.rich_output.backend_ipython import BackendIPythonNotebook + sage: backend = BackendIPythonNotebook() + sage: backend.threejs_offline_scripts() +- '...<script src="/nbextensions/threejs/three.min...<\\/script>...' ++ '...<script src="/nbextensions/threejs/build/three.min...<\\/script>...' + """ + from sage.repl.rich_output import get_display_manager + CDN_scripts = get_display_manager().threejs_scripts(online=True) + return """ +-<script src="/nbextensions/threejs/three.min.js"></script> +-<script src="/nbextensions/threejs/OrbitControls.js"></script> ++<script src="/nbextensions/threejs/build/three.min.js"></script> ++<script src="/nbextensions/threejs/examples/js/controls/OrbitControls.js"></script> + <script> + if ( !window.THREE ) document.write('{}'); + </script> diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 56d8082d2f5..57d6c852be8 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -10,14 +10,14 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "8.7"; + version = "8.8"; pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "05vvrd6syh0hlmrk6kzjrwd0hpmvxp8vr8p3mkjb0jh5p2kjdd27"; + sha256 = "0jm7zdkz8wfgrmf6620jfr8kgvprrz3qfl8gzx6rl5z5cm734b6x"; }; # Patches needed because of particularities of nix or the way this is packaged. @@ -45,42 +45,26 @@ stdenv.mkDerivation rec { # Fixes a potential race condition which can lead to transient doctest failures. ./patches/fix-ecl-race.patch - # Parallelize docubuild using subprocesses, fixing an isolation issue. See - # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE - (fetchpatch { - name = "sphinx-docbuild-subprocesses.patch"; - url = "https://salsa.debian.org/science-team/sagemath/raw/8a215b17e6f791ddfae6df8ce6d01dfb89acb434/debian/patches/df-subprocess-sphinx.patch"; - sha256 = "07p9i0fwjgapmfvmi436yn6v60p8pvmxqjc93wsssqgh5kd8qw3n"; - stripLen = 1; - }) - - # Part of the build system. Should become unnecessary with sage 8.8. - # Upstream discussion here: https://trac.sagemath.org/ticket/27124#comment:33 - ./patches/do-not-test-package-manifests.patch - # Not necessary since library location is set explicitly # https://trac.sagemath.org/ticket/27660#ticket ./patches/do-not-test-find-library.patch - # https://trac.sagemath.org/ticket/27697#ticket - (fetchpatch { - name = "pplpy-doc-location-configurable.patch"; - url = "https://git.sagemath.org/sage.git/patch/?h=c4d966e7cb0c7b87c55d52dc6f46518433a2a0a2"; - sha256 = "0pqbbsx8mriwny422s9mp3z5d095cnam32sm62q4mxk8g8jb9vm9"; - }) + + # https://trac.sagemath.org/ticket/28007 + ./patches/threejs-offline.patch + + # Parallelize docubuild using subprocesses, fixing an isolation issue. See + # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE + ./patches/sphinx-docbuild-subprocesses.patch ]; # Since sage unfortunately does not release bugfix releases, packagers must # fix those bugs themselves. This is for critical bugfixes, where "critical" # == "causes (transient) doctest failures / somebody complained". bugfixPatches = [ - # Transient doctest failure in src/sage/modular/abvar/torsion_subgroup.py - # https://trac.sagemath.org/ticket/27477 - (fetchpatch { - name = "sig_on_in_matrix_sparce.patch"; - url = "https://git.sagemath.org/sage.git/patch?id2=10407524b18659e14e184114b61c043fb816f3c2&id=c9b0cc9d0b8748ab85e568f8f57f316c5e8cbe54"; - sha256 = "0wgp7yvn9sm1ynlhcr4l0hzmvr2n28llg4xc01p6k1zz4im64c17"; - }) + # To help debug the transient error in + # https://trac.sagemath.org/ticket/23087 when it next occurs. + ./patches/configurationpy-error-verbose.patch ]; # Patches needed because of package updates. We could just pin the versions of @@ -113,35 +97,6 @@ stdenv.mkDerivation rec { stripLen = 1; }) - # https://trac.sagemath.org/ticket/26451 - (fetchSageDiff { - name = "sphinx-1.8.patch"; - base = "8.7"; - rev = "737afd8f314bd1e16feaec562bb4b5efa2effa8b"; - sha256 = "0n56ss88ds662bp49j23z5c2i6hsn3jynxw13wv76hyl0h7l1hjh"; - }) - - # https://trac.sagemath.org/ticket/27653 - (fetchpatch { - name = "sympy-1.4.patch"; - url = "https://git.sagemath.org/sage.git/patch/?h=3277ba76d0ba7174608a31a0c6623e9210c63e3d"; - sha256 = "09avaanwmdgqv14mmllbgw9z2scf4lc0y0kzdhlriiq8ss9j8iir"; - }) - - # https://trac.sagemath.org/ticket/27094 - (fetchpatch { - name = "gap-4.10.1.patch"; - url = "https://git.sagemath.org/sage.git/patch?id=d3483110474591ea6cc8e3210cd884f3e0018b3e"; - sha256 = "028i6h8l8npwzx5z0ax0rcywl85gc83qw1jf93zf523msdfcsk0n"; - }) - - # https://trac.sagemath.org/ticket/27738 - (fetchpatch { - name = "R-3.6.0.patch"; - url = "https://git.sagemath.org/sage.git/patch/?h=8b7dbd0805d02d0e8674a272e161ceb24a637966"; - sha256 = "1c81f13z1w62s06yvp43gz6vkp8mxcs289n6l4gj9xj10slimzff"; - }) - # https://trac.sagemath.org/ticket/26932 (fetchSageDiff { name = "givaro-4.1.0_fflas-ffpack-2.4.0_linbox-1.6.0.patch"; @@ -149,6 +104,11 @@ stdenv.mkDerivation rec { rev = "c11d9cfa23ff9f77681a8f12742f68143eed4504"; sha256 = "0xzra7mbgqvahk9v45bjwir2mqz73hrhhy314jq5nxrb35ysdxyi"; }) + + # After updating smypow to (https://trac.sagemath.org/ticket/3360) we can + # now set the cache dir to be withing the .sage directory. This is not + # strictly necessary, but keeps us from littering in the user's HOME. + ./patches/sympow-cache.patch ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; diff --git a/pkgs/applications/science/math/sage/sage-tests.nix b/pkgs/applications/science/math/sage/sage-tests.nix index 12433e12fe9..0cd5b5d976a 100644 --- a/pkgs/applications/science/math/sage/sage-tests.nix +++ b/pkgs/applications/science/math/sage/sage-tests.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { sage-with-env ]; - unpackPhase = "#do nothing"; + dontUnpack = true; configurePhase = "#do nothing"; buildPhase = "#do nothing"; @@ -51,6 +51,10 @@ stdenv.mkDerivation rec { export HOME="$TMPDIR/sage-home" mkdir -p "$HOME" + # avoid running out of memory with many threads in subprocesses, see + # https://github.com/NixOS/nixpkgs/pull/65802 + export GLIBC_TUNABLES=glibc.malloc.arena_max=4 + echo "Running sage tests with arguments ${timeSpecifier} ${patienceSpecifier} ${testArgs}" "sage" -t --nthreads "$NIX_BUILD_CORES" --optional=sage ${timeSpecifier} ${patienceSpecifier} ${testArgs} ''; diff --git a/pkgs/applications/science/math/sage/sage-with-env.nix b/pkgs/applications/science/math/sage/sage-with-env.nix index 5bb7eda47d5..e4b1aeae016 100644 --- a/pkgs/applications/science/math/sage/sage-with-env.nix +++ b/pkgs/applications/science/math/sage/sage-with-env.nix @@ -99,6 +99,13 @@ stdenv.mkDerivation rec { for pkg in ${lib.concatStringsSep " " input_names}; do touch "installed/$pkg" done + + # threejs version is in format 0.<version>.minor, but sage currently still + # relies on installed_packages for the online version of threejs to work + # and expects the format r<version>. This is a hotfix for now. + # upstream: https://trac.sagemath.org/ticket/26434 + rm "installed/threejs"* + touch "installed/threejs-r${lib.versions.minor three.version}" ''; installPhase = '' diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix index 541b9cb36dc..f6dc21d0018 100644 --- a/pkgs/applications/science/math/sage/sage.nix +++ b/pkgs/applications/science/math/sage/sage.nix @@ -11,7 +11,7 @@ # A wrapper that makes sure sage finds its docs (if they were build) and the # jupyter kernel spec. -let +let # generate kernel spec + default kernels kernel-specs = jupyter-kernel.create { definitions = jupyter-kernel.default // { @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { sage-tests ]; - unpackPhase = "#do nothing"; + dontUnpack = true; configurePhase = "#do nothing"; buildPhase = "#do nothing"; diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index d745532d5d7..1040d6d4ba1 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -1,4 +1,5 @@ { sage-src +, env-locations , perl , buildPythonPackage , arb @@ -125,8 +126,11 @@ buildPythonPackage rec { export SAGE_ROOT="$PWD" export SAGE_LOCAL="$SAGE_ROOT" export SAGE_SHARE="$SAGE_LOCAL/share" - export JUPYTER_PATH="$SAGE_LOCAL/jupyter" + # set locations of dependencies (needed for nbextensions like threejs) + . ${env-locations}/sage-env-locations + + export JUPYTER_PATH="$SAGE_LOCAL/jupyter" export PATH="$SAGE_ROOT/build/bin:$SAGE_ROOT/src/bin:$PATH" export SAGE_NUM_THREADS="$NIX_BUILD_CORES" diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix index 32335b45202..03b5b7a3bbf 100644 --- a/pkgs/applications/science/math/sage/sagenb.nix +++ b/pkgs/applications/science/math/sage/sagenb.nix @@ -1,5 +1,4 @@ { stdenv -, fetchpatch , python , buildPythonPackage , fetchFromGitHub diff --git a/pkgs/applications/science/math/scilab-bin/default.nix b/pkgs/applications/science/math/scilab-bin/default.nix index c3a74d14bc0..21ce53e70c5 100644 --- a/pkgs/applications/science/math/scilab-bin/default.nix +++ b/pkgs/applications/science/math/scilab-bin/default.nix @@ -3,9 +3,7 @@ let name = "scilab-bin-${ver}"; - ver = "6.0.1"; - - majorVer = builtins.elemAt (lib.splitString "." ver) 0; + ver = "6.0.2"; badArch = throw "${name} requires i686-linux or x86_64-linux"; @@ -26,7 +24,7 @@ stdenv.mkDerivation rec { if stdenv.hostPlatform.system == "i686-linux" then "0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib" else if stdenv.hostPlatform.system == "x86_64-linux" then - "1scswlznc14vyzg0gqa1q9gcpwx05kz1sbn563463mzkdp7nd35d" + "05clcdgry90drirl3swbxn5q36fmgknnhs6h5pr7mmrzfr6r818w" else badArch; }; diff --git a/pkgs/applications/science/misc/motu-client/default.nix b/pkgs/applications/science/misc/motu-client/default.nix deleted file mode 100644 index d4367ef7e2d..00000000000 --- a/pkgs/applications/science/misc/motu-client/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ python27Packages, fetchurl, lib } : -python27Packages.buildPythonApplication rec { - pname = "motu-client"; - version = "1.5.00"; - - src = fetchurl { - url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${version}.tar.gz"; - sha256 = "1iqsws3wa2gpb36ms21xmaxfi83i8p8cdya4cxpn4r47c8mz74x8"; - }; - - meta = with lib; { - homepage = https://github.com/quiet-oceans/motuclient-setuptools; - description = "CLI to query oceanographic data to Motu servers"; - longDescription = '' - Access data from (motu)[https://sourceforge.net/projects/cls-motu/] servers. - This is a refactored fork of the original release in order to simplify integration, - deployment and packaging. Upstream code can be found at - https://sourceforge.net/projects/cls-motu/ . - ''; - license = licenses.lgpl3Plus; - maintainers = [ maintainers.lsix ]; - }; -} diff --git a/pkgs/applications/science/misc/openmvs/default.nix b/pkgs/applications/science/misc/openmvs/default.nix index f44d07d36db..43d57feab71 100644 --- a/pkgs/applications/science/misc/openmvs/default.nix +++ b/pkgs/applications/science/misc/openmvs/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchFromGitHub, pkgconfig, cmake , eigen, opencv, ceres-solver, cgal, boost, vcg -, gmp, mpfr, glog, google-gflags, libjpeg_turbo }: +, gmp, mpfr, glog, gflags, libjpeg_turbo }: stdenv.mkDerivation rec { name = "openmvs-unstable-2018-05-26"; @@ -12,7 +12,7 @@ stdenv.mkDerivation rec { sha256 = "12dgkwwfdp24581y3i41gsd1k9hq0aw917q0ja5s0if4qbmc8pni"; }; - buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog google-gflags libjpeg_turbo ]; + buildInputs = [ eigen opencv ceres-solver cgal boost vcg gmp mpfr glog gflags libjpeg_turbo ]; nativeBuildInputs = [ cmake pkgconfig ]; @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { "-DCERES_DIR=${ceres-solver}/lib/cmake/Ceres/" ) ''; - + postFixup = '' rp=$(patchelf --print-rpath $out/bin/DensifyPointCloud) patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/DensifyPointCloud @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { rp=$(patchelf --print-rpath $out/bin/TextureMesh) patchelf --set-rpath $rp:$out/lib/OpenMVS $out/bin/TextureMesh ''; - + cmakeDir = "./"; dontUseCmakeBuildDir = true; diff --git a/pkgs/applications/science/misc/root/5.nix b/pkgs/applications/science/misc/root/5.nix index 871f5ece9cf..0199373b082 100644 --- a/pkgs/applications/science/misc/root/5.nix +++ b/pkgs/applications/science/misc/root/5.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, fetchpatch, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lzma, gsl_1 -, Cocoa, OpenGL, cf-private, noSplash ? false }: +, Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { name = "root-${version}"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lzma gsl_1 ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] - ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; patches = [ diff --git a/pkgs/applications/science/misc/root/default.nix b/pkgs/applications/science/misc/root/default.nix index 8b9573ce4e8..2ec1ded68a2 100644 --- a/pkgs/applications/science/misc/root/default.nix +++ b/pkgs/applications/science/misc/root/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, cmake, pcre, pkgconfig, python2 , libX11, libXpm, libXft, libXext, libGLU_combined, zlib, libxml2, lz4, lzma, gsl, xxHash -, Cocoa, OpenGL, cf-private, noSplash ? false }: +, Cocoa, OpenGL, noSplash ? false }: stdenv.mkDerivation rec { name = "root-${version}"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig ]; buildInputs = [ cmake pcre python2 zlib libxml2 lz4 lzma gsl xxHash ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ libX11 libXpm libXft libXext libGLU_combined ] - ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL cf-private ] + ++ stdenv.lib.optionals (stdenv.isDarwin) [ Cocoa OpenGL ] ; patches = [ diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix index 554ef695a4a..d6e3f05e0e1 100644 --- a/pkgs/applications/science/misc/simgrid/default.nix +++ b/pkgs/applications/science/misc/simgrid/default.nix @@ -18,14 +18,14 @@ in stdenv.mkDerivation rec { pname = "simgrid"; - version = "3.22.2"; + version = "3.23"; src = fetchFromGitLab { domain = "framagit.org"; owner = pname; repo = pname; rev = "v${version}"; - sha256 = "02zzivp3k7n2yvlr79p9kapzxpxq9x4x7jf2vrkpkwnssv4f9b4p"; + sha256 = "068xg5ps4j4v2sqqyl4vf83nfazp54gsy84gvlw52h94c4mj4xmp"; }; nativeBuildInputs = [ cmake perl python3 boost valgrind ] @@ -106,7 +106,7 @@ stdenv.mkDerivation rec { ''; homepage = https://simgrid.org/; license = licenses.lgpl2Plus; - maintainers = with maintainers; [ mickours ]; + maintainers = with maintainers; [ mickours mpoquet ]; platforms = ["x86_64-linux"]; }; } diff --git a/pkgs/applications/science/misc/tulip/default.nix b/pkgs/applications/science/misc/tulip/default.nix index 7db2e6a12c2..1f644ad0f20 100644 --- a/pkgs/applications/science/misc/tulip/default.nix +++ b/pkgs/applications/science/misc/tulip/default.nix @@ -1,13 +1,13 @@ { fetchurl, stdenv, libxml2, freetype, libGLU_combined, glew, qt4 , cmake, makeWrapper, libjpeg, python }: -let version = "5.1.0"; in +let version = "5.2.1"; in stdenv.mkDerivation rec { name = "tulip-${version}"; src = fetchurl { url = "mirror://sourceforge/auber/${name}_src.tar.gz"; - sha256 = "1i70y8b39gkpxfalr9844pa3l4bnnyw5y7ngxdqibil96k2b9q9h"; + sha256 = "0bqmqy6sri87a8xv5xf7ffaq5zin4hiaa13g0l64b84i7yckfwky"; }; buildInputs = [ libxml2 freetype glew libGLU_combined qt4 libjpeg python ]; diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix index 7583f8c0010..d00b59307c5 100644 --- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix +++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix @@ -8,11 +8,11 @@ stdenv.mkDerivation { - name = "gromacs-2019.2"; + name = "gromacs-2019.3"; src = fetchurl { - url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.2.tar.gz"; - sha256 = "0zlzzg27yzfbmmgy2wqmgq82nslqy02gprjvm9xwcswjf705rgxw"; + url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-2019.3.tar.gz"; + sha256 = "0wvm6lj4hbasl2qkjcpicqjh7abxji4196dd2hmwlyivpycaa4a2"; }; buildInputs = [cmake fftw] diff --git a/pkgs/applications/science/physics/sacrifice/default.nix b/pkgs/applications/science/physics/sacrifice/default.nix index 64b88dcc3d4..d43a05f1c61 100644 --- a/pkgs/applications/science/physics/sacrifice/default.nix +++ b/pkgs/applications/science/physics/sacrifice/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, boost, hepmc, lhapdf, pythia, makeWrapper }: +{ stdenv, fetchurl, boost, hepmc2, lhapdf, pythia, makeWrapper }: stdenv.mkDerivation rec { name = "sacrifice-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { sha256 = "10bvpq63kmszy1habydwncm0j1dgvam0fkrmvkgbkvf804dcjp6g"; }; - buildInputs = [ boost hepmc lhapdf pythia ]; + buildInputs = [ boost hepmc2 lhapdf pythia ]; nativeBuildInputs = [ makeWrapper ]; patches = [ @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { ''; configureFlags = [ - "--with-HepMC=${hepmc}" + "--with-HepMC=${hepmc2}" "--with-pythia=${pythia}" ]; diff --git a/pkgs/applications/science/physics/sherpa/default.nix b/pkgs/applications/science/physics/sherpa/default.nix index 7cb3e8881ca..1d61c612563 100644 --- a/pkgs/applications/science/physics/sherpa/default.nix +++ b/pkgs/applications/science/physics/sherpa/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, gfortran, hepmc, fastjet, lhapdf, rivet, sqlite }: +{ stdenv, fetchurl, gfortran, hepmc2, fastjet, lhapdf, rivet, sqlite }: stdenv.mkDerivation rec { name = "sherpa-${version}"; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { configureFlags = [ "--with-sqlite3=${sqlite.dev}" - "--enable-hepmc2=${hepmc}" + "--enable-hepmc2=${hepmc2}" "--enable-fastjet=${fastjet}" "--enable-lhapdf=${lhapdf}" "--enable-rivet=${rivet}" diff --git a/pkgs/applications/science/robotics/apmplanner2/default.nix b/pkgs/applications/science/robotics/apmplanner2/default.nix index 69f355c7b84..ecbf0c703f1 100644 --- a/pkgs/applications/science/robotics/apmplanner2/default.nix +++ b/pkgs/applications/science/robotics/apmplanner2/default.nix @@ -1,12 +1,12 @@ -{ stdenv, fetchFromGitHub, qmake +{ lib, mkDerivation, fetchFromGitHub, fetchpatch, qmake , qtbase, qtscript, qtwebkit, qtserialport, qtsvg, qtdeclarative, qtquickcontrols2 , alsaLib, libsndfile, flite, openssl, udev, SDL2 }: -stdenv.mkDerivation rec { - name = "apmplanner2-${version}"; - # TODO revert Qt511 to Qt5 in pkgs/top-level/all-packages.nix on next release +mkDerivation rec { + pname = "apmplanner2"; version = "2.0.27-rc1"; + src = fetchFromGitHub { owner = "ArduPilot"; repo = "apm_planner"; @@ -14,11 +14,19 @@ stdenv.mkDerivation rec { sha256 = "1k0786mjzi49nb6yw4chh9l4dmkf9gybpxg9zqkr5yg019nyzcvd"; }; - qtInputs = [ + patches = [ + # can be dropped after 2.0.27-rc1 + (fetchpatch { + url = "https://github.com/ArduPilot/apm_planner/commit/299ff23b5e9910de04edfc06b6893bb06b47a57b.patch"; + sha256 = "16rc81iwqp2i46g6bm9lbvcjfsk83999r9h8w1pz0mys7rsilvqy"; + }) + ]; + + buildInputs = [ + alsaLib libsndfile flite openssl udev SDL2 qtbase qtscript qtwebkit qtserialport qtsvg qtdeclarative qtquickcontrols2 ]; - buildInputs = [ alsaLib libsndfile flite openssl udev SDL2 ] ++ qtInputs; nativeBuildInputs = [ qmake ]; qmakeFlags = [ "apm_planner.pro" ]; @@ -29,7 +37,7 @@ stdenv.mkDerivation rec { substituteInPlace $out/share/applications/apmplanner2.desktop \ --replace /usr $out ''; - + enableParallelBuilding = true; meta = { @@ -39,7 +47,7 @@ stdenv.mkDerivation rec { Includes support for the APM and PX4 based controllers. ''; homepage = http://ardupilot.org/planner2/; - license = stdenv.lib.licenses.gpl3; - maintainers = [ stdenv.lib.maintainers.wucke13 ]; + license = lib.licenses.gpl3; + maintainers = with lib.maintainers; [ wucke13 ]; }; } diff --git a/pkgs/applications/science/robotics/betaflight-configurator/default.nix b/pkgs/applications/science/robotics/betaflight-configurator/default.nix index 2cedb7aeca4..6449e966959 100644 --- a/pkgs/applications/science/robotics/betaflight-configurator/default.nix +++ b/pkgs/applications/science/robotics/betaflight-configurator/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, unzip, runtimeShell, makeDesktopItem, makeWrapper, nwjs, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }: +{stdenv, fetchurl, unzip, makeDesktopItem, nwjs, wrapGAppsHook, gsettings-desktop-schemas, gtk3 }: let strippedName = "betaflight-configurator"; diff --git a/pkgs/applications/science/robotics/sumorobot-manager/default.nix b/pkgs/applications/science/robotics/sumorobot-manager/default.nix new file mode 100644 index 00000000000..68b91dafb73 --- /dev/null +++ b/pkgs/applications/science/robotics/sumorobot-manager/default.nix @@ -0,0 +1,43 @@ +{ stdenv, python3, qt5, fetchFromGitHub, wrapPython, pyqt5, pyserial }: + +stdenv.mkDerivation rec { + pname = "sumorobot-manager"; + version = "0.9.0"; + + src = fetchFromGitHub { + owner = "robokoding"; + repo = pname; + rev = "v${version}"; + sha256 = "03zhb54c259a66hsahmv2ajbzwcjnfjj050wbjhw51zqzxinlgqr"; + }; + + buildInputs = [ python3 ]; + pythonPath = [ + pyqt5 pyserial + ]; + + nativeBuildInputs = [ wrapPython qt5.wrapQtAppsHook ]; + + buildPhase = "true"; + + installPhase = '' + mkdir -p $out/opt/sumorobot-manager + cp -r main.py lib res $out/opt/sumorobot-manager + chmod -R 644 $out/opt/sumorobot-manager/lib/* + mkdir $out/bin + makeQtWrapper $out/opt/sumorobot-manager/main.py $out/bin/sumorobot-manager \ + --run "cd $out/opt/sumorobot-manager" + ''; + + preFixup = '' + patchShebangs $out/opt/sumorobot-manager/main.py + wrapPythonProgramsIn "$out/opt" "$pythonPath" + ''; + + meta = with stdenv.lib; { + description = "Desktop App for managing SumoRobots"; + homepage = "https://www.robokoding.com/kits/sumorobot/sumomanager/"; + license = licenses.mit; + maintainers = with maintainers; [ abbradar ]; + }; +} |