academic/drawtiming: Added (tool for drawing timing diagrams).

Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
R. S. Ananda Murthy 2014-06-22 11:18:20 +07:00 committed by Willy Sudiarto Raharjo
parent 7d6d52860e
commit 8970decff9
9 changed files with 293 additions and 0 deletions

View file

@ -0,0 +1,30 @@
Description: Properly initialize GraphicsMagick
Quoting from GraphicsMagick's NEWS file "
1.3.8 (January 21, 2010)
========================
[...]
Behavior Changes:
InitializeMagick() MUST be invoked prior to using any Magick API function.
Failure to do so will likely lead to an immediate application crash. This is
due to initialization and runtime changes intended to improve thread safety
and efficiency. Previously it was only strongly recommended to invoke
InitializeMagick().
"
Author: Galland (https://launchpad.net/~victor-lopez)
Bug-Ubuntu: https://bugs.launchpad.net/bugs/636021
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=599915
Bug: http://sourceforge.net/tracker/index.php?func=detail&aid=3136111&group_id=118983&atid=682742
Forwarded: yes
--- a/src/main.cc
+++ b/src/main.cc
@@ -97,6 +97,9 @@
double scale = 1;
int flags = 0;
+#ifndef LITE
+ InitializeMagick(NULL);
+#endif /* ! LITE */
int k, c;
while ((c = getopt_long (argc, argv, "ac:f:hl:o:p:vVw:x:", opts, &k)) != -1)
switch (c) {

View file

@ -0,0 +1,6 @@
DrawTiming provides a command line tool for documenting hardware and
software designs through timing diagrams. It reads signal descriptions
from a text file with an intuitive syntax, and outputs a timing diagram
to an image file. Notation typical of timing diagrams found in the
Electrical Engineering discipline is used, including arrows
indicating causal relationships between signal transitions.

View file

@ -0,0 +1,9 @@
if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
fi
if [ -e usr/share/icons/hicolor/icon-theme.cache ]; then
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache usr/share/icons/hicolor >/dev/null 2>&1
fi
fi

View file

@ -0,0 +1,108 @@
#!/bin/sh
# Slackware build script for drawtiming
# Copyright 2014 R. S. Ananda Murthy, Mysore, India
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=drawtiming
VERSION=${VERSION:-0.7.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
STARTDIR=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
patch -p1 < $STARTDIR/InitializeMagick.diff
patch -p1 < $STARTDIR/manpage-fix.diff
patch -p1 < $STARTDIR/missing-includes.diff
patch -p1 < $STARTDIR/switch_LDFLAGS_LDADD.diff
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--build=$ARCH-slackware-linux
make
make DESTDIR=$PKG install
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/samples
cp -r $TMP/$PRGNAM-$VERSION/samples/* $PKG/usr/doc/$PRGNAM-$VERSION/samples
rm $PKG/usr/doc/$PRGNAM-$VERSION/samples/runsamples.sh
rm $PKG/usr/doc/$PRGNAM-$VERSION/samples/Makefile*
cp -a COPYING INSTALL NEWS README AUTHORS THANKS $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}

View file

@ -0,0 +1,10 @@
PRGNAM="drawtiming"
VERSION="0.7.1"
HOMEPAGE="http://drawtiming.sourceforge.net/"
DOWNLOAD="http://downloads.sourceforge.net/project/drawtiming/drawtiming/0.7.1/drawtiming-0.7.1.tar.gz"
MD5SUM="bc25f43f5301ee6cfb65ed8e151a2e1d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="R. S. Ananda Murthy"
EMAIL="rsamurti@gmail.com"

View file

@ -0,0 +1,62 @@
Description: Fix typos and hyphenation
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@sabily.org>
Forwarded: yes
--- a/doc/drawtiming.1
+++ b/doc/drawtiming.1
@@ -56,7 +56,7 @@
.It Fl -pagesize Ar WidthxHeight
Scale the diagram to fit given image size.
.It Fl -aspect
-Maintain fixed aspect ratio if --pagesize given.
+Maintain fixed aspect ratio if \-\-pagesize given.
.It Fl -cell-height Ar H
Height of the each signal in pixels. Default is 32.
.It Fl -cell-width Ar W
@@ -101,23 +101,23 @@
changing its value.
.El
.Pp
-Statements are seperated by the following symbols:
+Statements are separated by the following symbols:
.Bl -tag -width "-tD>"
.It ,
-The comma seperator is used to seperate statements without
+The comma separator is used to separate statements without
affecting the dependency list or clock (ie: the next statement will
add to the dependency list).
.It ;
-The semicolon seperator resets the list of dependencies without
+The semicolon separator resets the list of dependencies without
incrementing the clock
.It .
-The period seperator resets the list of dependencies and
+The period separator resets the list of dependencies and
increments the clock.
.It =>
-The "causes" seperator renders dependency arrows based on the
+The "causes" separator renders dependency arrows based on the
current list of dependencies and then resets the dependency list.
.It -tD>
-The "delay" seperator renders a delay arrow from the last dependency
+The "delay" separator renders a delay arrow from the last dependency
with the annotation
.Em tD .
.El
@@ -173,7 +173,7 @@
value if their initial value is not given.
.Pp
Independent signal transitions which occur simultaneously are normally
-seperated by commas. Since signals aren't normally expected to change
+separated by commas. Since signals aren't normally expected to change
simultaneously, the initial state is a good example of this:
.Pp
.Dl POWER=0, FIRE=0, ARMED=0, LED=OFF, COUNT=N.
@@ -194,7 +194,7 @@
.Pp
.Dl POWER=1 => LED=GREEN.
.Pp
-For signal state changes with multiple dependencies, seperate the
+For signal state changes with multiple dependencies, separate the
dependencies with commas:
.Pp
.Dl FIRE, ARMED => LED=RED.

View file

@ -0,0 +1,13 @@
Description: Add missing string.h include.
Author: Wesley J. Landaker <wjl@icecavern.net>
Forwarded: yes
--- a/src/timing.cc
+++ b/src/timing.cc
@@ -23,6 +23,7 @@
#include "timing.h"
#include <map>
#include <fstream>
+#include <string.h>
using namespace std;
using namespace timing;
using namespace Magick;

View file

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
drawtiming: drawtiming (tool for drawing timing diagrams)
drawtiming:
drawtiming: DrawTiming provides a command line tool for documenting hardware and
drawtiming: software designs through timing diagrams. It reads signal
drawtiming: descriptions from a text file with an intuitive syntax,
drawtiming: and outputs a timing diagram to an image file. Notation typical
drawtiming: of timing diagrams found in the Electrical Engineering discipline
drawtiming: is used, including arrows indicating causal relationships between
drawtiming: signal transitions.
drawtiming:
drawtiming:

View file

@ -0,0 +1,36 @@
Description: Switch LDADD with LDFLAGS
This change is to move the objects before the libs. to fix an FTBFS when
--as-needed is passed to gcc.
Author: أحمد المحمودي (Ahmed El-Mahmoudy) <aelmahmoudy@sabily.org>
Forwarded: yes
--- drawtiming-0.7.1.orig/src/Makefile.am
+++ drawtiming-0.7.1/src/Makefile.am
@@ -3,7 +3,7 @@
bin_PROGRAMS = drawtiming
drawtiming_SOURCES = main.cc globals.h parser.yy scanner.ll timing.cc timing.h
-drawtiming_LDFLAGS = @MAGICK_LIBS@
+drawtiming_LDADD = @MAGICK_LIBS@
EXTRA_DIST = parser.h
BUILT_SOURCES = parser.h
--- drawtiming-0.7.1.orig/src/Makefile.in
+++ drawtiming-0.7.1/src/Makefile.in
@@ -51,7 +51,7 @@
am_drawtiming_OBJECTS = main.$(OBJEXT) parser.$(OBJEXT) \
scanner.$(OBJEXT) timing.$(OBJEXT)
drawtiming_OBJECTS = $(am_drawtiming_OBJECTS)
-drawtiming_LDADD = $(LDADD)
+drawtiming_LDADD = @MAGICK_LIBS@ $(LDADD)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
@@ -159,7 +159,7 @@
AM_CXXFLAGS = @MAGICK_CFLAGS@ -DYYDEBUG=1
AM_YFLAGS = -d
drawtiming_SOURCES = main.cc globals.h parser.yy scanner.ll timing.cc timing.h
-drawtiming_LDFLAGS = @MAGICK_LIBS@
+drawtiming_LDFLAGS = @LDFLAGS@
EXTRA_DIST = parser.h
BUILT_SOURCES = parser.h
all: $(BUILT_SOURCES)