summary refs log tree commit diff
path: root/pkgs/development/tools/alloy
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2015-05-09 01:23:30 +0200
committerTobias Geerinckx-Rice <tobias.geerinckx.rice@gmail.com>2015-05-09 01:25:59 +0200
commit4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f (patch)
tree472f3b5835d16f65e5dd6ab2c2bd6cefbf21dba5 /pkgs/development/tools/alloy
parent1f6c2a97efe8dd2fac692c287f6ae31d4c74519c (diff)
downloadnixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.tar
nixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.tar.gz
nixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.tar.bz2
nixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.tar.lz
nixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.tar.xz
nixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.tar.zst
nixpkgs-4c5d3f5a717354f1cf1a3352eccb35d3cb0c611f.zip
Add alloy 4.2_2015-02-22: relational modeller
Diffstat (limited to 'pkgs/development/tools/alloy')
-rw-r--r--pkgs/development/tools/alloy/builder.sh16
-rw-r--r--pkgs/development/tools/alloy/default.nix48
-rw-r--r--pkgs/development/tools/alloy/icon.pngbin0 -> 17154 bytes
3 files changed, 64 insertions, 0 deletions
diff --git a/pkgs/development/tools/alloy/builder.sh b/pkgs/development/tools/alloy/builder.sh
new file mode 100644
index 00000000000..e737fc5eec7
--- /dev/null
+++ b/pkgs/development/tools/alloy/builder.sh
@@ -0,0 +1,16 @@
+source $stdenv/setup
+
+jar=${src##*/}
+jar=$out/share/alloy/${jar#*-}
+
+install -Dm644 $src $jar
+
+cat << EOF > alloy
+#! $SHELL
+exec $jre/bin/java -jar $jar
+EOF
+
+install -Dm755 alloy $out/bin/alloy
+
+install -Dm644 $icon $out/share/pixmaps/alloy.png
+cp -r ${desktopItem}/share/applications $out/share
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix
new file mode 100644
index 00000000000..d25ccc1a7a5
--- /dev/null
+++ b/pkgs/development/tools/alloy/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchurl, jre, makeDesktopItem }:
+
+let version = "4.2_2015-02-22"; in
+stdenv.mkDerivation rec {
+  name = "alloy-${version}";
+
+  src = fetchurl {
+    sha256 = "0p93v8jwx9prijpikkgmfdzb9qn8ljmvga5d9wvrkxddccjx9k28";
+    url = "http://alloy.mit.edu/alloy/downloads/alloy${version}.jar";
+  };
+
+  meta = with stdenv.lib; {
+    inherit version;
+    description = "Language & tool for relational models";
+    longDescription = ''
+      Alloy is a language for describing structures and a tool for exploring
+      them. An Alloy model is a collection of constraints that describes a set
+      of structures, e.g. all the possible security configurations of a web
+      application, or all the possible topologies of a switching network. The
+      Alloy Analyzer is a solver that takes the constraints of a model and
+      finds structures that satisfy them. Structures are displayed graphically,
+      and their appearance can be customized for the domain at hand.
+    '';
+    homepage = http://alloy.mit.edu/;
+    downloadPage = http://alloy.mit.edu/alloy/download.html;
+    license = with licenses; mit;
+    platforms = with platforms; linux;
+    maintainers = with maintainers; [ nckx ];
+  };
+
+  desktopItem = makeDesktopItem rec {
+    name = "alloy";
+    exec = name;
+    icon = name;
+    desktopName = "Alloy";
+    genericName = "Relational modelling tool";
+    comment = meta.description;
+    categories = "Development;IDE;Education;";
+  };
+
+
+  buildInputs = [ jre ];
+  inherit jre;
+
+  icon = ./icon.png;
+
+  builder = ./builder.sh;
+}
diff --git a/pkgs/development/tools/alloy/icon.png b/pkgs/development/tools/alloy/icon.png
new file mode 100644
index 00000000000..a76bd948047
--- /dev/null
+++ b/pkgs/development/tools/alloy/icon.png
Binary files differ