summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorben <ben@pkgsrc.org>2006-04-02 22:18:58 +0000
committerben <ben@pkgsrc.org>2006-04-02 22:18:58 +0000
commit99abb555bd0a71660292c7743e52865c3a4a0526 (patch)
treeb2b6b3c7a7990657ec547291d7e16c14f6855f4b
parentacbaa42484454a31e0b9d69cac5cda964067e12e (diff)
downloadpkgsrc-99abb555bd0a71660292c7743e52865c3a4a0526.tar.gz
Initial import of jcabc2ps-20060106, a music typesetting program for abc.
Jcabc2ps is a typesetting program for abc. It reads a file containing abc code and outputs the music to another file in Postscript. This is John Chambers' clone of Michael Methfessel's abc2ps program.
-rw-r--r--print/jcabc2ps/DESCR3
-rw-r--r--print/jcabc2ps/Makefile17
-rw-r--r--print/jcabc2ps/PLIST3
-rw-r--r--print/jcabc2ps/distinfo7
-rw-r--r--print/jcabc2ps/patches/patch-aa69
-rw-r--r--print/jcabc2ps/patches/patch-ab430
6 files changed, 529 insertions, 0 deletions
diff --git a/print/jcabc2ps/DESCR b/print/jcabc2ps/DESCR
new file mode 100644
index 00000000000..c51727e559a
--- /dev/null
+++ b/print/jcabc2ps/DESCR
@@ -0,0 +1,3 @@
+Jcabc2ps is a typesetting program for abc. It reads a file containing
+abc code and outputs the music to another file in Postscript. This is
+John Chambers' clone of Michael Methfessel's abc2ps program.
diff --git a/print/jcabc2ps/Makefile b/print/jcabc2ps/Makefile
new file mode 100644
index 00000000000..f1edcfcbd26
--- /dev/null
+++ b/print/jcabc2ps/Makefile
@@ -0,0 +1,17 @@
+# $NetBSD: Makefile,v 1.1.1.1 2006/04/02 22:18:58 ben Exp $
+#
+
+DISTNAME= jcabc2ps-src
+PKGNAME= jcabc2ps-20060106
+CATEGORIES= print
+MASTER_SITES= http://ecf-guest.mit.edu/~jc/music/abc/src/
+WRKSRC= ${WRKDIR}/jcabc2ps
+
+MAINTAINER= ben@NetBSD.org
+HOMEPAGE= http://ecf-guest.mit.edu/~jc/music/abc/src/
+COMMENT= Music typesetting program for abc
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/doc/jcabc2ps.d ${PREFIX}/man/cat1/jcabc2ps.1
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/print/jcabc2ps/PLIST b/print/jcabc2ps/PLIST
new file mode 100644
index 00000000000..d93a3542216
--- /dev/null
+++ b/print/jcabc2ps/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2006/04/02 22:18:58 ben Exp $
+bin/jcabc2ps
+man/cat1/jcabc2ps.1
diff --git a/print/jcabc2ps/distinfo b/print/jcabc2ps/distinfo
new file mode 100644
index 00000000000..5acfa2f5591
--- /dev/null
+++ b/print/jcabc2ps/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1.1.1 2006/04/02 22:18:58 ben Exp $
+
+SHA1 (jcabc2ps-src.tar.gz) = 6dbd9d00453c97ccf04cf707e6c4db88361c3bea
+RMD160 (jcabc2ps-src.tar.gz) = e454dc1d787c9b5a833316f5edb5dff463e6daa4
+Size (jcabc2ps-src.tar.gz) = 550842 bytes
+SHA1 (patch-aa) = fe4235fbf9ef6e364fda51849f9b1dddf4af6d76
+SHA1 (patch-ab) = 8fd77d205e902eabc0338de6b88169735c812f42
diff --git a/print/jcabc2ps/patches/patch-aa b/print/jcabc2ps/patches/patch-aa
new file mode 100644
index 00000000000..eae3940befa
--- /dev/null
+++ b/print/jcabc2ps/patches/patch-aa
@@ -0,0 +1,69 @@
+$NetBSD: patch-aa,v 1.1.1.1 2006/04/02 22:18:58 ben Exp $
+
+--- Makefile.orig 2006-01-06 15:20:13.000000000 -0800
++++ Makefile
+@@ -26,9 +26,9 @@ SHELL=/bin/sh
+ # You might want to change this to control how to install things:
+ # How we link or copy the program to where it belongs:
+
+-LC=./Lc
++#LC=./Lc
+ #LC=/bin/ln -f
+-#LC=/bin/cp -f
++LC=/bin/cp -f
+ #LC=/bin/mv -f
+
+ # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #
+@@ -70,8 +70,8 @@ PS= \
+ Words1 w_01 w_AllMyLoving1 w_AllMyLoving2 w_NoFrontiers w_OrdinaryMan
+
+ # compilation options
+-CC = gcc
+-CFLAGS = -Wall -I/usr/demo/SOUND/include
++#CC = gcc
++#CFLAGS = -Wall -I/usr/demo/SOUND/include
+
+ # using Sun audio library
+ #CC = cc
+@@ -79,15 +79,16 @@ CFLAGS = -Wall -I/usr/demo/SOUND/includ
+ #LDFLAGS = -L/usr/demo/SOUND/lib -laudio -lm
+
+ # using supplied audio functions
+-CC = cc
+-CFLAGS = -g
+-LDFLAGS = -lm -g
++#CC = cc
++#CFLAGS = -g
++#LDFLAGS = -lm -g
++LDFLAGS+=-lm
+
+ # installation directories
+-SYSDIR = $(HOME)
+-BINDIR1 = $(HOME)/bin
+-BINDIR2 = $(HOME)/p/cgi/abc
+-MANDIR = $(SYSDIR)/man/man1
++SYSDIR = ${PREFIX}
++BINDIR1 = ${PREFIX}/bin
++#BINDIR2 = $(HOME)/p/cgi/abc
++#MANDIR = $(SYSDIR)/man/man1
+
+ OBJECTS=jcabc2ps.o \
+ buffer.o format.o macro.o memBlock.o minStr.o misc.o music.o parse.o \
+@@ -189,7 +190,7 @@ util.o: \
+ # takes a file name and a directory in which to install it. The manual
+ # installation might take some tweaking for your system.
+
+-install: $(BINDIR1)/$(A2P1) $(BINDIR2)/$(A2P1)
++install: $(BINDIR1)/$(A2P1)
+
+ man: $(MANDIR)/$(A2P1).1.gz
+
+@@ -199,7 +200,7 @@ $(MANDIR)/$(A2P1).1: $(A2P1).1
+ # $(LC) $(A2P1).1.gz $(MANDIR)
+
+ $(BINDIR1)/$(A2P1): $(A2P1); $(LC) $(A2P1) $(BINDIR1)
+-$(BINDIR2)/$(A2P1): $(A2P1); $(LC) $(A2P1) $(BINDIR2)
++#$(BINDIR2)/$(A2P1): $(A2P1); $(LC) $(A2P1) $(BINDIR2)
+
+ neat:
+ -rm -f core *- *.out log/*
diff --git a/print/jcabc2ps/patches/patch-ab b/print/jcabc2ps/patches/patch-ab
new file mode 100644
index 00000000000..6e4de6df843
--- /dev/null
+++ b/print/jcabc2ps/patches/patch-ab
@@ -0,0 +1,430 @@
+$NetBSD: patch-ab,v 1.1.1.1 2006/04/02 22:18:58 ben Exp $
+
+--- doc/jcabc2ps.d.orig 2003-08-15 09:11:15.000000000 -0700
++++ doc/jcabc2ps.d
+@@ -7,63 +7,78 @@ SYNOPSIS
+ REQUIRES
+
+ DESCRIPTION
+- This is a clone of Michael Methfessel's abc2ps program, with a number of
+- additional capabilities. One significant change for users is that this
+- version now writes to standard output by default, so you can write:
++ This is a clone of Michael Methfessel's abc2ps program, with a
++ number of additional capabilities. One significant change for
++ users is that this version now writes to standard output by
++ default, so you can write:
+ jcabc2ps JoesJig.abc | lpr
+- And, since the .abc suffix is assumed, this can be further shortened to
++ And, since the .abc suffix is assumed, this can be further
++ shortened to
+ jcabc2ps JoesJig | lpr
+- This also greatly simplifies further processing by other PostScript tools,
+- since jcabc2ps may be used in pipelines like a normal unix "filter"
+- program.
+-
+- The command line may contain one or more file names, which are scanned for
+- ABC tunes. Text outside of tunes (except for %% lines described below) will
+- be ignored. The tunes will be converted to conventional muisic "staff"
+- notation in the form of PostScript, which may be sent to most printers or
++ This also greatly simplifies further processing by other
++ PostScript tools, since jcabc2ps may be used in pipelines like
++ a normal unix "filter" program.
++
++ The command line may contain one or more file names, which are
++ scanned for ABC tunes. Text outside of tunes (except for %%
++ lines described below) will be ignored. The tunes will be
++ converted to conventional muisic "staff" notation in the form
++ of PostScript, which may be sent to most printers or
+ incorporated into documents by many word processing programs.
+
+ OPTIONS
+- There are a lot of command-line options. They start with a '-' or '+' flag.
+- The original program was somewhat inconsistent in how it used these; the
+- scheme has been simplified so that '-' now means "no" or "off" or "disable"
++ There are a lot of command-line options. They start with a
++ '-' or '+' flag. The original program was somewhat
++ inconsistent in how it used these; the scheme has been
++ simplified so that '-' now means "no" or "off" or "disable"
+ and '+' means "yes" or "on" or "enable".
+
+ Some of the options are not fully understood yet ...
+
+ -b
+- Don't break at line ends. Lines that end with '\' (backslash) are
+- considered to be continued. (default)
++ Don't break at line ends. Lines that end with '\'
++ (backslash) are considered to be continued. (default)
++
+ +b
+- Break at line ends. All line ends are treated as end of staff, whether
+- or not they end with '\'.
++ Break at line ends. All line ends are treated as end of
++ staff, whether or not they end with '\'.
+
+ -c
+- Don't continue lines. Line ends are honored as end of staff, unless
+- they end with '\' (backslash). (default)
++ Don't continue lines. Line ends are honored as end of
++ staff, unless they end with '\' (backslash). (default)
++
+ +c
+- Continue lines. Line ends are ignored, as if they all ended with '\'.
+- The program generates staff breaks automatically.
++ Continue lines. Line ends are ignored, as if they all
++ ended with '\'. The program generates staff breaks
++ automatically.
+
+ +i
+- Interactive, described below. [Interactive mode hasn't been tested
+- much since some of the major jcabc2ps extensions were added.]
++ Interactive, described below. [Interactive mode hasn't
++ been tested much since some of the major jcabc2ps
++ extensions were added.]
+
+ -o
+- No postscript output. This is useful for debugging purposes.
++ No postscript output. This is useful for debugging
++ purposes.
++
+ +o <file>
+- Output file. Write the PostScript output to the named file. The file
+- name may immediately follow the 'o' or may be a separate argument.
+- Note that this option is rarely needed, now that jcabc2ps writes to
+- standard output by default.
++ Output file. Write the PostScript output to the named
++ file. The file name may immediately follow the 'o' or
++ may be a separate argument. Note that this option is
++ rarely needed, now that jcabc2ps writes to standard
++ output by default.
+
+ -n
+- Don't historical notes and other optional stuff. (default)
++ Don't historical notes and other optional stuff.
++ (default)
++
+ +n
+- Print historical notes and other stuff at the bottom of each tune.
++ Print historical notes and other stuff at the bottom of
++ each tune.
+
+ -x
+ Don't print index numbers.
++
+ +x
+ Print index numbers before the titles.
+
+@@ -71,25 +86,28 @@ OPTIONS
+ One tune per page.
+
+ -A
+- Don't select all tunes; honor other selectors. (default)
++ Don't select all tunes; honor other selectors. (default)
++
+ +A
+- selects all tunes, overriding other selectors
++ selects all tunes, overriding other selectors
+
+ +a x
+- Set the maximal amount of permitted shrinking to x, where x lies
+- between 0 and 1.
++ Set the maximal amount of permitted shrinking to x,
++ where x lies between 0 and 1.
+
+ +B n
+ Try to typeset with n bars on each line.
+- [What is a "bar" isn't clearly understood. More work should be done
+- in this area.]
++ [What is a "bar" isn't clearly understood. More work
++ should be done in this area.]
+
+ +C
+ ___
+
++
+ +D <arg>
+ ___
+
++
+ +d <arg>
+ ___
+
+@@ -97,48 +115,57 @@ OPTIONS
+ ___
+
+ +e selector1 selector2 ...
+- Select specific tunes from the files, where each selector is a set of
+- xref numbers or a pattern. With -o, this will list only the selected
+- tunes found in the files. With +o, output is generated only for the
++ Select specific tunes from the files, where each
++ selector is a set of xref numbers or a pattern. With -o,
++ this will list only the selected tunes found in the
++ files. With +o, output is generated only for the
+ selected tunes.
+
+ To list selected tunes:
+ abc2ps book1 -e 1-3 5,20- 'House*' Hall
+
+- This selects xref numbers 1 to 3, 5, and 20 and above, as well as those
+- tunes whose title either starts with "House" or contains the string
+- "Hall". A pattern without wildcards such as 'Hall' is treated as '*Hall*'
+-
+- Optionally, the search can be done on other fields using these flags in
+- place of -e:
+- flag -R seaches the rhythm field
+- flag -C searches the composer field
+- flag -S searches the source field.
+- flag -T seaches the title field (default)
++ This selects xref numbers 1 to 3, 5, and 20 and above,
++ as well as those tunes whose title either starts with
++ "House" or contains the string "Hall". A pattern without
++ wildcards such as 'Hall' is treated as '*Hall*'
++
++ Optionally, the search can be done on other fields using
++ these flags in place of -e:
++ flag -R seaches the rhythm field
++ flag -C searches the composer field
++ flag -S searches the source field.
++ flag -T seaches the title field (default)
+
+- Thus
++ Thus
+ abc2ps book1 -C "John"
+- selects all tunes whose composer string contains "John".
+- If the -C flag is used, the composer field is also displayed when the
+- file are listed. The same goes for the flags -R and -S.
++ selects all tunes whose composer string contains
++ "John".
++
++ If the -C flag is used, the composer field is also
++ displayed when the file are listed. The same goes for
++ the flags -R and -S.
+
+ +f
+ ___
+
+ -F
+- Don't read format files. (Default is to read only "fonts.fmt".)
++ Don't read format files. (Default is to read only
++ "fonts.fmt".)
++
+ +F file
+ Read file.fmt and extract formatting instructions.
+
+ +g shrink|space|stretch|fill
+- sets the "glue mode". The default mode is fill, which fills the staff.
+- This flag is useful when changing the layout parameters, to see what
+- effect the changes have for each mode separately.
++ sets the "glue mode". The default mode is fill, which
++ fills the staff. This flag is useful when changing the
++ layout parameters, to see what effect the changes have
++ for each mode separately.
+
+ +H
+- Dump all the formatting options, in the form used in .fmt files. This
+- should be placed after any F options, to show the final result. This
+- output may be written to a .fmt file for further use.
++ Dump all the formatting options, in the form used in
++ .fmt files. This should be placed after any F options,
++ to show the final result. This output may be written to
++ a .fmt file for further use.
+
+ +h
+ Help. Print a summary of the command line.
+@@ -162,9 +189,10 @@ OPTIONS
+ ___
+
+ +p
+- generates pretty output, with more whitespace between tunes, larger
+- fonts for titles, and larger music symbols. By default, the layout
+- squeezes the tunes to reduce the number of pages.
++ generates pretty output, with more whitespace between
++ tunes, larger fonts for titles, and larger music
++ symbols. By default, the layout squeezes the tunes to
++ reduce the number of pages.
+
+ +Q <arg>
+ ___
+@@ -179,9 +207,10 @@ OPTIONS
+ ___
+
+ +s xxx
+- scales the music output by factor xxx. At present, the minimal
+- significant difference in scale factors is 0.05. A scale factor
+- greater than 1.00 will give very large staffs and notes.
++ scales the music output by factor xxx. At present, the
++ minimal significant difference in scale factors is 0.05.
++ A scale factor greater than 1.00 will give very large
++ staffs and notes.
+
+ +T
+ ___
+@@ -193,9 +222,10 @@ OPTIONS
+ shows the version number.
+
+ +v n
+- sets the verbosity for output to the screen to n. -v0 gives very
+- little, -v1,v2,v3.. show successively more information. Verbosity >=
+- 10 is for debugging. The verbose output is written to stderr.
++ sets the verbosity for output to the screen to n. -v0
++ gives very little, -v1,v2,v3.. show successively more
++ information. Verbosity >= 10 is for debugging. The
++ verbose output is written to stderr.
+
+ +w www
+ sets the width of the staff to www points.
+@@ -208,9 +238,10 @@ OPTIONS
+
+ INTERACTIVE
+
+- If the command list contains the flag +i, abc2ps runs in interactive mode.
+- This makes it possible to build up an output file piece by piece. The
+- disadvantage is that you have to start over if you make a mistake.
++ If the command list contains the flag +i, abc2ps runs in
++ interactive mode. This makes it possible to build up an
++ output file piece by piece. The disadvantage is that you have
++ to start over if you make a mistake.
+
+ Interactive mode is started with
+
+@@ -220,67 +251,73 @@ INTERACTIVE
+
+ select tunes:
+
+- The response should be a row of arguments, which are treated in exactly the
+- same way as in the non-interactive mode. The only difference is that the
+- input is not first run through the shell, so that wildcards are not
+- expanded and quotes are not removed. Consequently Jig* should be used
+- instead of 'Jig*' etc. when specifying strings for selection, and filenames
+- must be written out in full.
++ The response should be a row of arguments, which are treated
++ in exactly the same way as in the non-interactive mode. The
++ only difference is that the input is not first run through
++ the shell, so that wildcards are not expanded and quotes are
++ not removed. Consequently Jig* should be used instead of
++ 'Jig*' etc. when specifying strings for selection, and
++ filenames must be written out in full.
+
+- To exit from interactive mode, enter 'q', 'quit' or an empty input.
++ To exit from interactive mode, enter 'q', 'quit' or an empty
++ input.
+
+ For example, a "session" could look like this:
+
+- abc2ps +i start abc2ps interactively
+- book1 list tunes in book1.abc
+- book1 -e 1-10 list tunes with xrefs 1-10 in book1
+- book1 -e 1-10 -o write these to Out.ps
+- book2 list tunes in book2.abc
+- book2 -e House -o write tunes with 'House' in the title
+- quit exit abc2ps
++ abc2ps +i start abc2ps interactively
++ book1 list tunes in book1.abc
++ book1 -e 1-10 list tunes with xrefs 1-10 in book1
++ book1 -e 1-10 -o write these to Out.ps
++ book2 list tunes in book2.abc
++ book2 -e House -o write tunes with 'House' in the
++ title
++ quit exit abc2ps
+
+
+ To make things easier, there are three special characters:
+- ? shows the last input used;
+- ! at the start of line is substituted by the last files used;
+- * at the start of line is substituted by the last input.
+-
+- This means that the same effect as above can be obtained in shorter form
+- like this:
+-
+- abc2ps +i start abc2ps interactively
+- book1 list tunes
+- ! 1-10 equivalent to 'book1 1-10'
+- * -o equivalent to 'book1 1-10 -o'
+- book2 list tunes in book2.abc
+- ! -e House -o equivalent to 'book2 -e House -o'
+- q exit abc2ps
+-
+- Note that the -e flag is not needed in the line '* 1-10' because it is
+- clear that '1-10' is a selector (see above).
+-
+-
+- Another point is that if additional flags are used when starting
+- interactively, these function as defaults for the interactive mode. For
+- example, by starting the program with
++ ? shows the last input used;
++ ! at the start of line is substituted by the last files
++ used;
++ * at the start of line is substituted by the last input.
++
++ This means that the same effect as above can be obtained in
++ shorter form like this:
++
++ abc2ps +i start abc2ps interactively
++ book1 list tunes
++ ! 1-10 equivalent to 'book1 1-10'
++ * -o equivalent to 'book1 1-10 -o'
++ book2 list tunes in book2.abc
++ ! -e House -o equivalent to 'book2 -e House -o'
++ q exit abc2ps
++
++ Note that the -e flag is not needed in the line '* 1-10'
++ because it is clear that '1-10' is a selector (see above).
++
++
++ Another point is that if additional flags are used when
++ starting interactively, these function as defaults for the
++ interactive mode. For example, by starting the program with
+
+ abc2ps +io
+
+- all selected tunes are immediately written to the output file. The program
+- usage is then very similar to that of abc2mtex. Of course, it is not
+- possible to list the file contents (to help choose among the titles) when
+- using the program in this way.
+-
+- In interactive mode, flags +o -E can be used as before to redirect the
+- output. When switching to another output file, the previous file is closed.
+- Switching back to the same file later will overwrite the file.
++ all selected tunes are immediately written to the output
++ file. The program usage is then very similar to that of
++ abc2mtex. Of course, it is not possible to list the file
++ contents (to help choose among the titles) when using the
++ program in this way.
++
++ In interactive mode, flags +o -E can be used as before to
++ redirect the output. When switching to another output file,
++ the previous file is closed. Switching back to the same file
++ later will overwrite the file.
+
+
+ PARAMETERS
+
+ RETURNS
+- The exit status is an indication of how the program failed. Zero means that
+- it thinks it succeeded.
++ The exit status is an indication of how the program failed.
++ Zero means that it thinks it succeeded.
+
+ [We should document the non-zero failure codes.]
+
+@@ -289,13 +326,15 @@ BUGS
+ SEE ALSO
+
+ LICENSE
+- This program is distributed under the terms of the GNU General Public
+- License. You may use the program as you wish, including selling it as part
+- of a larger package of (music) software. But you must also make the source
+- code available to anyone who asks for it, or tell them where to get it. As
+- of this writing, one such place is
++ This program is distributed under the terms of the GNU
++ General Public License. You may use the program as you wish,
++ including selling it as part of a larger package of (music)
++ software. But you must also make the source code available to
++ anyone who asks for it, or tell them where to get it. As of
++ this writing, one such place is
+ http://trillian.mit.edu/~jc/music/abc/src/
+- Any of the files with "jcabc2ps" in the name is a version of this program.
++ Any of the files with "jcabc2ps" in the name is a version of
++ this program.
+
+ AUTHORS
+ Michael Methfessel