2021-01-15 10:19:50 +01:00
|
|
|
{ lib, stdenv
|
2020-04-19 22:21:08 +02:00
|
|
|
, bison
|
|
|
|
, fetchurl
|
|
|
|
, flex
|
|
|
|
, gd
|
|
|
|
, libjpeg
|
|
|
|
, libpng
|
|
|
|
, libwebp
|
|
|
|
, pkg-config
|
|
|
|
, runtimeShell
|
|
|
|
, zlib
|
|
|
|
}:
|
2011-10-13 09:38:44 +02:00
|
|
|
|
|
|
|
let
|
|
|
|
version = "0.20";
|
|
|
|
in
|
|
|
|
stdenv.mkDerivation {
|
2019-08-13 23:52:01 +02:00
|
|
|
pname = "mscgen";
|
|
|
|
inherit version;
|
2011-10-13 09:38:44 +02:00
|
|
|
|
|
|
|
src = fetchurl {
|
2013-01-14 18:26:46 +01:00
|
|
|
url = "http://www.mcternan.me.uk/mscgen/software/mscgen-src-${version}.tar.gz";
|
2011-10-13 09:38:44 +02:00
|
|
|
sha256 = "3c3481ae0599e1c2d30b7ed54ab45249127533ab2f20e768a0ae58d8551ddc23";
|
|
|
|
};
|
|
|
|
|
2020-04-20 15:27:28 +02:00
|
|
|
nativeBuildInputs = [ bison flex pkg-config ];
|
|
|
|
buildInputs = [ gd libjpeg libpng libwebp zlib ];
|
2011-10-13 09:38:44 +02:00
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
preCheck = ''
|
2019-02-26 12:45:54 +01:00
|
|
|
sed -i -e "s|#!/bin/bash|#!${runtimeShell}|" test/renderercheck.sh
|
2011-10-13 09:38:44 +02:00
|
|
|
'';
|
|
|
|
|
2020-04-20 15:27:28 +02:00
|
|
|
outputs = [ "out" "man" ];
|
|
|
|
|
2011-10-13 09:38:44 +02:00
|
|
|
meta = {
|
2020-04-01 03:11:51 +02:00
|
|
|
homepage = "http://www.mcternan.me.uk/mscgen/";
|
2013-01-14 18:26:46 +01:00
|
|
|
description = "Convert Message Sequence Chart descriptions into PNG, SVG, or EPS images";
|
2021-01-15 10:19:50 +01:00
|
|
|
license = lib.licenses.gpl2;
|
2011-10-13 09:38:44 +02:00
|
|
|
|
|
|
|
longDescription = ''
|
|
|
|
Mscgen is a small program that parses Message Sequence Chart
|
|
|
|
descriptions and produces PNG, SVG, EPS or server side image maps
|
|
|
|
(ismaps) as the output. Message Sequence Charts (MSCs) are a way
|
|
|
|
of representing entities and interactions over some time period
|
|
|
|
and are often used in combination with SDL. MSCs are popular in
|
|
|
|
Telecoms to specify how protocols operate although MSCs need not
|
|
|
|
be complicated to create or use. Mscgen aims to provide a simple
|
|
|
|
text language that is clear to create, edit and understand, which
|
|
|
|
can also be transformed into common image formats for display or
|
|
|
|
printing.
|
|
|
|
'';
|
|
|
|
|
2021-01-15 10:19:50 +01:00
|
|
|
platforms = lib.platforms.unix;
|
|
|
|
maintainers = [ lib.maintainers.peti ];
|
2011-10-13 09:38:44 +02:00
|
|
|
};
|
|
|
|
}
|