about summary refs log tree commit diff
path: root/pkgs/applications/science
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-04-10 11:17:52 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-04-10 11:17:52 +0200
commit30f14243c33f1b386273d08a4776aa679c42143d (patch)
treebd123d5c2ab4fef012ae7de6a225c092f8d611b8 /pkgs/applications/science
parent50fccad5828fb459760fd7578951bb961a18c0fc (diff)
parent2463e0917318581da94e7ba92703b63128c40424 (diff)
downloadnixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.gz
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.bz2
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.lz
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.xz
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.tar.zst
nixlib-30f14243c33f1b386273d08a4776aa679c42143d.zip
Merge branch 'master' into closure-size
Comparison to master evaluations on Hydra:
  - 1255515 for nixos
  - 1255502 for nixpkgs
Diffstat (limited to 'pkgs/applications/science')
-rw-r--r--pkgs/applications/science/electronics/kicad/default.nix65
-rw-r--r--pkgs/applications/science/logic/picosat/default.nix10
-rw-r--r--pkgs/applications/science/logic/satallax/default.nix107
-rw-r--r--pkgs/applications/science/logic/why3/default.nix6
-rw-r--r--pkgs/applications/science/molecular-dynamics/lammps/default.nix55
5 files changed, 159 insertions, 84 deletions
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix
index 0762002b8a84..56fbf20f52d1 100644
--- a/pkgs/applications/science/electronics/kicad/default.nix
+++ b/pkgs/applications/science/electronics/kicad/default.nix
@@ -1,21 +1,39 @@
-{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext }:
+{ stdenv, fetchurl, fetchbzr, cmake, mesa, wxGTK, zlib, libX11, gettext, glew, cairo, openssl, boost, pkgconfig, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "kicad-20131025";
+  name = "kicad-${series}";
+  series = "4.0";
+  version = "4.0.2";
 
-  src = fetchbzr {
-    url = "https://code.launchpad.net/kicad/stable";
-    rev = 4024;
-    sha256 = "1sv1l2zpbn6439ccz50p05hvqg6j551aqra551wck9h3929ghly5";
-  };
+  srcs = [
+    (fetchurl {
+      url = "https://code.launchpad.net/kicad/${series}/${version}/+download/kicad-${version}.tar.xz";
+      sha256 = "1fcf91fmxj6ha3mm6gzdb0px50j58m80p8wrncm8ca9shj36kbif";
+    })
 
-  srcLibrary = fetchbzr {
-    url = "http://bazaar.launchpad.net/~kicad-product-committers/kicad/library";
-    rev = 293;
-    sha256 = "1wn9a4nhqyjzzfkq6xm7ag8n5n10xy7gkq6i7yry7wxini7pzv1i";
-  };
+    (fetchurl {
+      url = "http://downloads.kicad-pcb.org/libraries/kicad-library-${version}.tar.gz";
+      sha256 = "1xk9sxxb3d42chdysqmvizrjcbm0467q7nsq5cahq3j1hci49m6l";
+    })
+
+    (fetchurl {
+      url = "http://downloads.kicad-pcb.org/libraries/kicad-footprints-${version}.tar.gz";
+      sha256 = "0vrzykgxx423iwgz6186bi8724kmbi5wfl92gfwb3r6mqammgwpg";
+    })
+  ];
+  
+  sourceRoot = "kicad-${version}";
+
+  cmakeFlags = ''
+    -DCMAKE_BUILD_TYPE=Release
+    -DKICAD_SKIP_BOOST=ON
+    -DKICAD_BUILD_VERSION=${version}
+    -DKICAD_REPO_NAME=stable
+  '';
 
-  cmakeFlags = "-DKICAD_STABLE_VERSION=ON";
+  enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory
+
+  buildInputs = [ cmake mesa wxGTK zlib libX11 gettext glew cairo openssl boost pkgconfig doxygen ];
 
   # They say they only support installs to /usr or /usr/local,
   # so we have to handle this.
@@ -23,17 +41,26 @@ stdenv.mkDerivation rec {
     sed -i -e 's,/usr/local/kicad,'$out,g common/gestfich.cpp
   '';
 
-  #enableParallelBuilding = true; # often fails on Hydra: fatal error: pcb_plot_params_lexer.h: No such file or directory
-
-  buildInputs = [ cmake mesa wxGTK zlib libX11 gettext ];
+  postUnpack = ''
+    pushd $(pwd)
+  '';  
 
   postInstall = ''
-    mkdir library
-    cd library
-    cmake -DCMAKE_INSTALL_PREFIX=$out $srcLibrary
+    popd
+
+    pushd kicad-library-*
+    cmake -DCMAKE_INSTALL_PREFIX=$out
+    make $MAKE_FLAGS
     make install
+    popd
+   
+    pushd kicad-footprints-*
+    mkdir -p $out/share/kicad/modules
+    cp -R *.pretty $out/share/kicad/modules/
+    popd
   '';
 
+
   meta = {
     description = "Free Software EDA Suite";
     homepage = "http://www.kicad-pcb.org/";
diff --git a/pkgs/applications/science/logic/picosat/default.nix b/pkgs/applications/science/logic/picosat/default.nix
index fb5acc64c4dc..070664980dcc 100644
--- a/pkgs/applications/science/logic/picosat/default.nix
+++ b/pkgs/applications/science/logic/picosat/default.nix
@@ -2,20 +2,18 @@
 
 stdenv.mkDerivation rec {
   name    = "picosat-${version}";
-  version = "960";
+  version = "965";
 
   src = fetchurl {
     url = "http://fmv.jku.at/picosat/${name}.tar.gz";
-    sha256 = "05z8cfjk84mkna5ryqlq2jiksjifg3jhlgbijaq36sbn0i51iczd";
+    sha256 = "0m578rpa5rdn08d10kr4lbsdwp4402hpavrz6n7n53xs517rn5hm";
   };
 
-  dontAddPrefix = true;
-  configureFlags = "--shared";
+  configurePhase = "./configure.sh --shared --trace";
 
   installPhase = ''
    mkdir -p $out/bin $out/lib $out/include/picosat
-   cp picomus "$out"/bin
-   cp picosat "$out"/bin
+   cp picomus picomcs picosat picogcnf "$out"/bin
 
    cp libpicosat.a "$out"/lib
    cp libpicosat.so "$out"/lib
diff --git a/pkgs/applications/science/logic/satallax/default.nix b/pkgs/applications/science/logic/satallax/default.nix
index 89a214c3f474..7935be11926d 100644
--- a/pkgs/applications/science/logic/satallax/default.nix
+++ b/pkgs/applications/science/logic/satallax/default.nix
@@ -1,71 +1,66 @@
-x@{builderDefsPackage
-  , sbcl, zlib
-  , ...}:
-builderDefsPackage
-(a :
-let
-  helperArgNames = ["stdenv" "fetchurl" "builderDefsPackage"] ++
-    [];
+{stdenv, fetchurl, ocaml, zlib, which, eprover, makeWrapper, coq}:
+stdenv.mkDerivation rec {
+  name = "satallax-${version}";
+  version = "2.7";
 
-  buildInputs = map (n: builtins.getAttr n x)
-    (builtins.attrNames (builtins.removeAttrs x helperArgNames));
-  sourceInfo = rec {
-    baseName="satallax";
-    version="1.4";
-    name="${baseName}-${version}";
-    url="http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz";
-    hash="0l8dq4nyfw2bdsyqmgb4v6fjw3739p8nqv4bh2gh2924ibzrq5fc";
+  buildInputs = [ocaml zlib which eprover makeWrapper coq];
+  src = fetchurl {
+    url = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads/${name}.tar.gz";
+    sha256 = "1kvxn8mc35igk4vigi5cp7w3wpxk2z3bgwllfm4n3h2jfs0vkpib";
   };
-in
-rec {
-  src = a.fetchurl {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-  };
-
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
 
-  phaseNames = ["doDeployMinisat" "doDeploy"];
+  preConfigure = ''
+    mkdir fake-tools
+    echo "echo 'Nix-build-host.localdomain'" > fake-tools/hostname
+    chmod a+x fake-tools/hostname
+    export PATH="$PATH:$PWD/fake-tools"
 
-  doDeployMinisat = a.fullDepEntry (''
     (
-      cd minisat/simp
+      cd picosat-*
+      ./configure
+      make
+    )
+    export PATH="$PATH:$PWD/libexec/satallax"
+
+    mkdir -p "$out/libexec/satallax"
+    cp picosat-*/picosat picosat-*/picomus "$out/libexec/satallax"
+
+    ( 
+      cd minisat
+      export MROOT=$PWD
+      cd core
+      make
+      cd ../simp
       make
     )
+  '';
 
-    mkdir -p "$out/bin"
-    cp minisat/simp/minisat "$out/bin"
+  postBuild = "echo testing; ! (bash ./test | grep ERROR)";
 
-    echo "(setq *minisat-binary* \"$out/bin/minisat\")" > config.lisp
+  installPhase = ''
+    mkdir -p "$out/share/doc/satallax" "$out/bin" "$out/lib" "$out/lib/satallax"
+    cp bin/satallax.opt "$out/bin/satallax"
+    wrapProgram "$out/bin/satallax" \
+      --suffix PATH : "${coq}/bin:${eprover}/bin:$out/libexec/satallax" \
+      --add-flags "-M" --add-flags "$out/lib/satallax/modes"
 
-  '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
-  doDeploy = a.fullDepEntry (''
-    mkdir -p "$out/share/satallax/build-dir"
-    cp -r * "$out/share/satallax/build-dir"
-    cd  "$out/share/satallax/build-dir"
+    cp LICENSE README "$out/share/doc/satallax"
 
-    sbcl --load make.lisp
-    ! ( ./test | grep ERROR )
+    cp bin/*.so "$out/lib"
 
-    mkdir -p "$out/bin"
-    cp bin/satallax "$out/bin"
-  '') ["defEnsureDir" "minInit" "addInputs" "doUnpack"];
+    cp -r modes "$out/lib/satallax/"
+    cp -r problems "$out/lib/satallax/"
+    cp -r coq* "$out/lib/satallax/"
+  '';
 
   meta = {
-    description = "A higher-order logic prover";
-    maintainers = with a.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with a.lib.platforms;
-      unix;
-    license = a.lib.licenses.free;
-    homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
-  };
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/";
-    };
+    inherit version;
+    description = ''Automated theorem prover for higher-order logic'';
+    license = stdenv.lib.licenses.mit ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    downloadPage = "http://www.ps.uni-saarland.de/~cebrown/satallax/downloads.php";
+    homepage = "http://www.ps.uni-saarland.de/~cebrown/satallax/index.php";
+    updateWalker = true;
   };
-}) x
+}
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 0eb51ff1620b..7825fc2761ed 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "why3-${version}";
-  version = "0.86.3";
+  version = "0.87.0";
 
   src = fetchurl {
-    url    = https://gforge.inria.fr/frs/download.php/file/35537/why3-0.86.3.tar.gz;
-    sha256 = "0sph6i4ga9450bk60wpm5cq3psw3g8xprnac7yjfq64iqz1dyz03";
+    url    = https://gforge.inria.fr/frs/download.php/file/35643/why3-0.87.0.tar.gz;
+    sha256 = "0c3vhcb70ay7iwvmq0m25fqh38y40c5x7mki4r9pxf13vgbs3xb0";
   };
 
   buildInputs = (with ocamlPackages; [
diff --git a/pkgs/applications/science/molecular-dynamics/lammps/default.nix b/pkgs/applications/science/molecular-dynamics/lammps/default.nix
new file mode 100644
index 000000000000..35ab53483687
--- /dev/null
+++ b/pkgs/applications/science/molecular-dynamics/lammps/default.nix
@@ -0,0 +1,55 @@
+{ stdenv, writeText, fetchurl,
+  libpng, fftw,
+  mpiSupport ? false, mpi ? null
+}:
+
+assert mpiSupport -> mpi != null;
+
+stdenv.mkDerivation rec {
+  # LAMMPS has weird versioning converted to ISO 8601 format
+  version = "2016-02-16";
+  name = "lammps-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/lammps/lammps-16Feb16.tar.gz";
+    sha256 = "1yzfbkxma3xa1288rnn66h4w0smbmjkwq1fx1y60pjiw0prmk105";
+  };
+
+  passthru = {
+    inherit mpi;
+  };
+
+  buildInputs = [ fftw libpng ]
+  ++ (stdenv.lib.optionals mpiSupport [ mpi ]);
+
+  # Must do manual build due to LAMMPS requiring a seperate build for
+  # the libraries and executable
+  builder = writeText "builder.sh" ''
+    source $stdenv/setup
+
+    tar xzf $src
+    cd lammps-*/src
+    make mode=exe ${if mpiSupport then "mpi" else "serial"} SHELL=$SHELL LMP_INC="-DLAMMPS_GZIP -DLAMMPS_PNG" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng
+    make mode=shlib ${if mpiSupport then "mpi" else "serial"} SHELL=$SHELL LMP_INC="-DLAMMPS_GZIP -DLAMMPS_PNG" FFT_PATH=-DFFT_FFTW3 FFT_LIB=-lfftw3 JPG_LIB=-lpng
+
+    mkdir -p $out/bin
+    cp -v lmp_* $out/bin/lammps
+
+    mkdir -p $out/lib
+    cp -v liblammps* $out/lib/
+  '';
+
+  meta = {
+    description = "Classical Molecular Dynamics simulation code";
+    longDescription = ''
+      LAMMPS is a classical molecular dynamics simulation code designed to
+      run efficiently on parallel computers. It was developed at Sandia
+      National Laboratories, a US Department of Energy facility, with
+      funding from the DOE. It is an open-source code, distributed freely
+      under the terms of the GNU Public License (GPL).
+      '';
+    homepage = "http://lammps.sandia.gov";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}