Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Nov 1997 23:23:11 -0800 (PST)
From:      dburr@POBoxes.com
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   ports/4974: New port: YODL, Yet Oneother Document Language [category textproc]
Message-ID:  <199711080723.XAA01385@DonaldBurr.dyn.ml.org>
Resent-Message-ID: <199711080730.XAA21209@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         4974
>Category:       ports
>Synopsis:       New port: YODL, Yet Oneother Document Language [category textproc]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Nov  7 23:30:00 PST 1997
>Last-Modified:
>Originator:     Donald Burr
>Organization:
Starfleet Command
>Release:        FreeBSD 2.2.2-RELEASE i386
>Environment:

I don't see why this wouldn't work on any fairly modern FreeBSD system...

>Description:

yodl (which stands for Yet Oneother Document Language), is an easy-to-use,
yet powerful, document preparation language.

You use a fairly generic document preparation language to describe your
document, including such features as table of contents,
chapters/headings/subheadings, URL's, footnotes, etc.  Then you can run
the yodl program on this file you create, to convert it into one of a
variety of formats (HTML, (La)TeX, dvi, etc.)  Your specifications of
chapters/sections/etc., footnotes, etc. will be converted into the format
that the language you output to supports.  (ex: creating sections and
subsections will output a nice HTML table of contents that you can click
on to get to a particular section, specifying a URL will turn that URL
into a clickable URL in HTML documents, etc.)

Features that aren't available in one output mode will be simulated; for
example, (La)TeX does not support clickable URL's, so if you specify a
URL, it will be typeset for you in a format similar to how URL's look in
paper magazines (e.g. "Foo <http://bar.com>").

My lame explanation does not do this program justice.  Trust me.  Just
check it out for yourself!

The original source tarball for yodl is available at:
ftp://ftp.icce.rug.nl/pub/unix/yodl-1.20.tar.gz

>How-To-Repeat:
>Fix:

#!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.1.4).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 1997-11-07 23:13 PST by <dburr@DonaldBurr.dyn.ml.org>.
# Source directory was `/usr/ports/textproc'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode       name
# ------ ---------- ------------------------------------------
#   1222 -rw-r--r-- yodl/Makefile
#     58 -rw-r--r-- yodl/files/md5
#    828 -rw-r--r-- yodl/pkg/PLIST
#    450 -rw-r--r-- yodl/pkg/DESCR
#    150 -rw-r--r-- yodl/pkg/COMMENT
#   3421 -rw-r--r-- yodl/patches/patch-aa
#
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
  shar_touch=touch
else
  shar_touch=:
  echo
  echo 'WARNING: not restoring timestamps.  Consider getting and'
  echo "installing GNU \`touch', distributed in GNU File Utilities..."
  echo
fi
rm -f 1231235999 $$.touch
#
# ============= yodl/Makefile ==============
if test ! -d 'yodl'; then
  echo 'x - creating directory yodl'
  mkdir 'yodl'
fi
if test -f 'yodl/Makefile' && test X"$1" != X"-c"; then
  echo 'x - skipping yodl/Makefile (file already exists)'
else
  echo 'x - extracting yodl/Makefile (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'yodl/Makefile' &&
# New ports collection makefile for:    yodl
# Version required:     1.20
# Date created:         22 Oct 1997
# Whom:                 Donald Burr <dburr@POBoxes.com>
#
# $Id$
#
X
DISTNAME=	yodl-1.20
CATEGORIES=	textproc
MASTER_SITES=	ftp://ftp.icce.rug.nl/pub/unix/
USE_GMAKE=	YES
MAINTAINER=	dburr@POBoxes.com
BUILD_DEPENDS=	bash:${PORTSDIR}/shells/bash \
X		latex:${PORTSDIR}/print/latex \
X		dvips:${PORTSDIR}/print/dvips
RUN_DEPENDS=	bash:${PORTSDIR}/shells/bash \
X		latex:${PORTSDIR}/print/latex \
X		dvips:${PORTSDIR}/print/dvips
X
MAN1=		yodl.1 \
X		striproff.1 \
X		yodlconverters.1
MAN5=		yodl.5
MAN7=		yodlmacros.7 \
X		yodlmanpage.7
X
do-build:
X	(cd ${WRKSRC} && gmake progs)
X	(cd ${WRKSRC}/misc && gcc -O2 -m486 -s -o striproff striproff.c)
X
# this weird contortion is because the YODL makefile is broken
# trust me, it works.
do-install:
X	@echo "*** NOTE: any errors from make can be safely ignored."
X	(cd ${WRKSRC} && gmake install)
X	-(cd ${WRKSRC} && gmake manpages)
X	(cd ${WRKSRC}/manpages && gmake manpages)
X	(cd ${WRKSRC}/manpages && gmake MANPREFIX=/usr/local/man installman)
X	(cd ${WRKSRC} && gmake installmanual)
X	(cd ${WRKSRC}/misc && install -c -s striproff /usr/local/bin/striproff)
X
X.include <bsd.port.mk>
SHAR_EOF
  $shar_touch -am 1022044297 'yodl/Makefile' &&
  chmod 0644 'yodl/Makefile' ||
  echo 'restore of yodl/Makefile failed'
  shar_count="`wc -c < 'yodl/Makefile'`"
  test 1222 -eq "$shar_count" ||
    echo "yodl/Makefile: original size 1222, current size $shar_count"
fi
# ============= yodl/files/md5 ==============
if test ! -d 'yodl/files'; then
  echo 'x - creating directory yodl/files'
  mkdir 'yodl/files'
fi
if test -f 'yodl/files/md5' && test X"$1" != X"-c"; then
  echo 'x - skipping yodl/files/md5 (file already exists)'
else
  echo 'x - extracting yodl/files/md5 (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'yodl/files/md5' &&
MD5 (yodl-1.20.tar.gz) = 75bb2c6acaf37d4b56b90d081b899350
SHAR_EOF
  $shar_touch -am 1022021097 'yodl/files/md5' &&
  chmod 0644 'yodl/files/md5' ||
  echo 'restore of yodl/files/md5 failed'
  shar_count="`wc -c < 'yodl/files/md5'`"
  test 58 -eq "$shar_count" ||
    echo "yodl/files/md5: original size 58, current size $shar_count"
fi
# ============= yodl/pkg/PLIST ==============
if test ! -d 'yodl/pkg'; then
  echo 'x - creating directory yodl/pkg'
  mkdir 'yodl/pkg'
fi
if test -f 'yodl/pkg/PLIST' && test X"$1" != X"-c"; then
  echo 'x - skipping yodl/pkg/PLIST (file already exists)'
else
  echo 'x - extracting yodl/pkg/PLIST (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'yodl/pkg/PLIST' &&
bin/yodl
bin/yodl2whatever
bin/yodl2dvi
bin/yodl2manless
bin/yodl2msless
bin/yodl2msps
bin/yodl2tex
bin/yodl2html
bin/yodl2sgml
bin/yodl2txt
bin/yodl2man
bin/yodl2ms
bin/striproff
lib/yodl/yodl2html-post
lib/yodl/yodlfixlabels
lib/yodl/yodl2txt-post
lib/yodl/yodl2man-post
lib/yodl/yodl2ms-post
lib/yodl/aux-macros.yo
lib/yodl/disable-commands.yo
lib/yodl/html.yo
lib/yodl/man.yo
lib/yodl/ms.yo
lib/yodl/output-commands.yo
lib/yodl/sgml.yo
lib/yodl/shared.yo
lib/yodl/tex.yo
lib/yodl/txt.yo
lib/yodl/xlatin1.tex
lib/yodl/chartables/txt.tables.yo
lib/yodl/chartables/sgml.tables.yo
lib/yodl/chartables/man.tables.yo
lib/yodl/chartables/latex.tables.yo
lib/yodl/chartables/html.tables.yo
man/man1/yodl.1.gz
man/man1/striproff.1.gz
man/man1/yodlconverters.1.gz
man/man5/yodl.5.gz
man/man7/yodlmacros.7.gz
man/man7/yodlmanpage.7.gz
SHAR_EOF
  $shar_touch -am 1022044397 'yodl/pkg/PLIST' &&
  chmod 0644 'yodl/pkg/PLIST' ||
  echo 'restore of yodl/pkg/PLIST failed'
  shar_count="`wc -c < 'yodl/pkg/PLIST'`"
  test 828 -eq "$shar_count" ||
    echo "yodl/pkg/PLIST: original size 828, current size $shar_count"
fi
# ============= yodl/pkg/DESCR ==============
if test -f 'yodl/pkg/DESCR' && test X"$1" != X"-c"; then
  echo 'x - skipping yodl/pkg/DESCR (file already exists)'
else
  echo 'x - extracting yodl/pkg/DESCR (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'yodl/pkg/DESCR' &&
YODL - Yet Oneother Document Language, an easy to use but powerful document preparation language with converters for ASCII, man, latex, SGML, and HTML.
X
YODL implements an easy-to-use, yet powerful document preparation language.
It also includes converters to convert documents written in that language to
several formats, including ASCII, man page format, LaTeX, dvi, SGML, and HTML.
X
[ This port is maintained by Donald Burr <dburr@POBoxes.com>. ]
SHAR_EOF
  $shar_touch -am 1022041997 'yodl/pkg/DESCR' &&
  chmod 0644 'yodl/pkg/DESCR' ||
  echo 'restore of yodl/pkg/DESCR failed'
  shar_count="`wc -c < 'yodl/pkg/DESCR'`"
  test 450 -eq "$shar_count" ||
    echo "yodl/pkg/DESCR: original size 450, current size $shar_count"
fi
# ============= yodl/pkg/COMMENT ==============
if test -f 'yodl/pkg/COMMENT' && test X"$1" != X"-c"; then
  echo 'x - skipping yodl/pkg/COMMENT (file already exists)'
else
  echo 'x - extracting yodl/pkg/COMMENT (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'yodl/pkg/COMMENT' &&
YODL - Yet Oneother Document Language, an easy to use but powerful document preparation language with converters for ASCII, man, ps, latex, and HTML.
SHAR_EOF
  $shar_touch -am 1022041697 'yodl/pkg/COMMENT' &&
  chmod 0644 'yodl/pkg/COMMENT' ||
  echo 'restore of yodl/pkg/COMMENT failed'
  shar_count="`wc -c < 'yodl/pkg/COMMENT'`"
  test 150 -eq "$shar_count" ||
    echo "yodl/pkg/COMMENT: original size 150, current size $shar_count"
fi
# ============= yodl/patches/patch-aa ==============
if test ! -d 'yodl/patches'; then
  echo 'x - creating directory yodl/patches'
  mkdir 'yodl/patches'
fi
if test -f 'yodl/patches/patch-aa' && test X"$1" != X"-c"; then
  echo 'x - skipping yodl/patches/patch-aa (file already exists)'
else
  echo 'x - extracting yodl/patches/patch-aa (text)'
  sed 's/^X//' << 'SHAR_EOF' > 'yodl/patches/patch-aa' &&
diff -c --new-file --recursive ../OLD/./Makefile ./Makefile
*** ../OLD/./Makefile	Mon Oct 20 23:29:12 1997
--- ./Makefile	Wed Oct 22 02:38:43 1997
***************
*** 14,26 ****
X  # Where do your man pages go? MANPREFIX is where the subdirs man1, man2 etc.
X  # are located, CATPREFIX is where subdirs cat1, cat2 etc. are, that's
X  # where formatted pages go.
! MANPREFIX=/usr/man
! CATPREFIX=/var/man
X  
X  # What's your LaTeX command? The shellscript "yodl2dvi" will run "yodl2tex" and
X  # your LaTeX-er for you, creating the .dvi file. LaTeX is also used in
X  # "make dvidoc" and "make psdoc".
! LATEX = mlatex
X  
X  # What's your command to process a manpage into a format that's suitable
X  # for viewing? Command should take one file argument and send the output
--- 14,26 ----
X  # Where do your man pages go? MANPREFIX is where the subdirs man1, man2 etc.
X  # are located, CATPREFIX is where subdirs cat1, cat2 etc. are, that's
X  # where formatted pages go.
! MANPREFIX=/usr/local/man
! CATPREFIX=/usr/local/man
X  
X  # What's your LaTeX command? The shellscript "yodl2dvi" will run "yodl2tex" and
X  # your LaTeX-er for you, creating the .dvi file. LaTeX is also used in
X  # "make dvidoc" and "make psdoc".
! LATEX = latex
X  
X  # What's your command to process a manpage into a format that's suitable
X  # for viewing? Command should take one file argument and send the output
***************
*** 37,49 ****
X  
X  # What's your pager, a-la "less"? Will be used in the "yodl2manless"
X  # and "yodl2msless" scripts that show groff output in ASCII via a pager.
! LESS = less
X  
X  # The C compiler?
X  CC = cc
X  
X  # Compiler flags?
! CFLAGS = -g -c -Wall
X  
X  # Installation program? If you don't have install, make sure that you state
X  # something that also strips executables.
--- 37,49 ----
X  
X  # What's your pager, a-la "less"? Will be used in the "yodl2manless"
X  # and "yodl2msless" scripts that show groff output in ASCII via a pager.
! LESS = more
X  
X  # The C compiler?
X  CC = cc
X  
X  # Compiler flags?
! CFLAGS = -O2 -m486 -c -Wall
X  
X  # Installation program? If you don't have install, make sure that you state
X  # something that also strips executables.
***************
*** 70,76 ****
X  SROFF = $(BINDIR)/striproff
X  
X  # If you also want the manpage under $(MANPREFIX)/man1, uncomment:
! # SROFFMAN = $(MANPREFIX)/man1/striproff.1
X  
X  # Additionally, if you want the preformatted manpage under $(CATPREFIX)/cat1,
X  # uncomment:
--- 70,76 ----
X  SROFF = $(BINDIR)/striproff
X  
X  # If you also want the manpage under $(MANPREFIX)/man1, uncomment:
! SROFFMAN = $(MANPREFIX)/man1/striproff.1
X  
X  # Additionally, if you want the preformatted manpage under $(CATPREFIX)/cat1,
X  # uncomment:
***************
*** 81,87 ****
X  # shell will do too, but I suggest that you get bash if you don't have it
X  # yet. I have it installed as /bin/sh, lucky me.
X  # Define the path of your bash below:
! BASH = /bin/sh
X  
X  # Some systems seem to lack the function strerror() (I've heard of SunOS 4.1.4
X  # with GCC 2.6). If that's the case, uncomment the following:
--- 81,87 ----
X  # shell will do too, but I suggest that you get bash if you don't have it
X  # yet. I have it installed as /bin/sh, lucky me.
X  # Define the path of your bash below:
! BASH = /usr/local/bin/bash
X  
X  # Some systems seem to lack the function strerror() (I've heard of SunOS 4.1.4
X  # with GCC 2.6). If that's the case, uncomment the following:
SHAR_EOF
  $shar_touch -am 1022025497 'yodl/patches/patch-aa' &&
  chmod 0644 'yodl/patches/patch-aa' ||
  echo 'restore of yodl/patches/patch-aa failed'
  shar_count="`wc -c < 'yodl/patches/patch-aa'`"
  test 3421 -eq "$shar_count" ||
    echo "yodl/patches/patch-aa: original size 3421, current size $shar_count"
fi
exit 0
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711080723.XAA01385>