nixpkgs/pkgs/development/tools/alloy/default.nix
2015-05-09 01:25:59 +02:00

49 lines
1.5 KiB
Nix

{ 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;
}