diff options
author | Timo Kaufmann <timokau@zoho.com> | 2018-04-11 12:26:50 +0200 |
---|---|---|
committer | Matthew Justin Bauer <mjbauer95@gmail.com> | 2018-04-21 20:40:59 -0500 |
commit | be0b8f2cf697dec85e0e849aadca9e8d1bcab68d (patch) | |
tree | f634af152e4f7605c42d2a1dc8e3952c6ad9f732 /pkgs/applications/science/math | |
parent | 7dc6b2e3c35f916d431ba5c10e8f71e044de7f49 (diff) | |
download | nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.tar nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.tar.gz nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.tar.bz2 nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.tar.lz nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.tar.xz nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.tar.zst nixlib-be0b8f2cf697dec85e0e849aadca9e8d1bcab68d.zip |
palp: init at 2.1
Diffstat (limited to 'pkgs/applications/science/math')
-rw-r--r-- | pkgs/applications/science/math/palp/default.nix | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/pkgs/applications/science/math/palp/default.nix b/pkgs/applications/science/math/palp/default.nix new file mode 100644 index 000000000000..3484c369db3b --- /dev/null +++ b/pkgs/applications/science/math/palp/default.nix @@ -0,0 +1,67 @@ +{ stdenv +, fetchurl +, dimensions ? 6 # works for <= dimensions dimensions, but is only optimized for that exact value +, doSymlink ? true # symlink the executables to the default location (without dimension postfix) +}: + +stdenv.mkDerivation rec { + version = "2.1"; + dim = toString dimensions; + name = "palp-${dim}d-${version}"; + + src = fetchurl { + url = "http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/palp-${version}.tar.gz"; + sha256 = "1s7s2lc5f0ig1yy7ygsh3sddm3sbq4mxwybqsj8lp9wjdxs7qfrs"; + }; + + hardeningDisable = [ "format" ]; + + preBuild = '' + echo Building PALP optimized for ${dim} dimensions + sed -i "s/^#define[^a-zA-Z]*POLY_Dmax.*/#define POLY_Dmax ${dim}/" Global.h + ''; + + installPhase = '' + mkdir -p "$out/bin" + for file in poly class cws nef mori; do + cp -p $file.x "$out/bin/$file-${dim}d.x" + done + '' + stdenv.lib.optionalString doSymlink '' + cd "$out/bin" + for file in poly class cws nef mori; do + ln -sf $file-6d.x $file.x + done + ''; + + meta = with stdenv.lib; { + description = "A Package for Analyzing Lattice Polytopes"; + longDescription = '' + A Package for Analyzing Lattice Polytopes (PALP) is a set of C + programs for calculations with lattice polytopes and applications to + toric geometry. + + It contains routines for vertex and facet enumeration, computation of + incidences and symmetries, as well as completion of the set of lattice + points in the convex hull of a given set of points. In addition, there + are procedures specialised to reflexive polytopes such as the + enumeration of reflexive subpolytopes, and applications to toric + geometry and string theory, like the computation of Hodge data and + fibration structures for toric Calabi-Yau varieties. The package is + well tested and optimised in speed as it was used for time consuming + tasks such as the classification of reflexive polyhedra in 4 + dimensions and the creation and manipulation of very large lists of + 5-dimensional polyhedra. + + While originally intended for low-dimensional applications, the + algorithms work in any dimension and our key routine for vertex and + facet enumeration compares well with existing packages. + ''; + homepage = http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html; + # Just a link on the website pointing to gpl -- now gplv3. When the last + # version was released that pointed to gplv2 however, so thats probably + # the right license. + license = licenses.gpl2; + maintainers = with maintainers; [ timokau ]; + platforms = platforms.all; + }; +} |