aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/applications/science/math/nauty/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/science/math/nauty/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/science/math/nauty/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/science/math/nauty/default.nix b/nixpkgs/pkgs/applications/science/math/nauty/default.nix
new file mode 100644
index 00000000000..4efe8da1918
--- /dev/null
+++ b/nixpkgs/pkgs/applications/science/math/nauty/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, lib
+, fetchurl
+}:
+stdenv.mkDerivation rec {
+ pname = "nauty";
+ version = "26r11";
+ src = fetchurl {
+ url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz";
+ sha256 = "05z6mk7c31j70md83396cdjmvzzip1hqb88pfszzc6k4gy8h3m2y";
+ };
+ outputs = [ "out" "dev" ];
+ configureFlags = {
+ # Prevent nauty from sniffing some cpu features. While those are very
+ # widely available, it can lead to nasty bugs when they are not available:
+ # https://groups.google.com/forum/#!topic/sage-packaging/Pe4SRDNYlhA
+ default = [ "--disable-clz" "--disable-popcnt" ];
+ westmere = [ "--disable-clz" ];
+ sandybridge = [ "--disable-clz" ];
+ ivybridge = [ "--disable-clz" ];
+ }.${stdenv.hostPlatform.platform.gcc.arch or "default"} or [];
+ installPhase = ''
+ mkdir -p "$out"/{bin,share/doc/nauty} "$dev"/{lib,include/nauty}
+
+ find . -type f -perm -111 \! -name '*.*' \! -name configure -exec cp '{}' "$out/bin" \;
+ cp [Rr][Ee][Aa][Dd]* COPYRIGHT This* [Cc]hange* "$out/share/doc/nauty"
+
+ cp *.h "$dev/include/nauty"
+ for i in *.a; do
+ cp "$i" "$dev/lib/lib$i";
+ done
+ '';
+ checkTarget = "checks";
+ meta = with lib; {
+ inherit version;
+ description = ''Programs for computing automorphism groups of graphs and digraphs'';
+ license = licenses.asl20;
+ maintainers = with maintainers; [ raskin timokau ];
+ platforms = platforms.unix;
+ homepage = http://pallini.di.uniroma1.it/;
+ };
+}