Mon Aug 30 02:48:41 2010 UTC ()
Update to Mathomatic 15.2.0

CHANGES MADE TO MATHOMATIC 15.2.0 TO BRING IT UP TO THE NEXT VERSION:

All makefiles were improved.  Library test/example program is renamed to "testmain".

Package maintainers please take note: support for the DESTDIR environment variable was
added to the makefiles; for proper operation when packaging version 15.2.1 or higher,
please remove any patches for missing DESTDIR support.
m4 Mathomatic should work now when included in the Mathomatic package (make m4install).
Thank you for packaging Mathomatic!  If I did anything wrong, please let me know.

8/26/10 - Added the -e option, which processes mathematical expressions and Mathomatic commands
          instead of input files on the shell command line.  For example, entering
          "mathomatic -eq 2+3" gives "answer = 5".  This functionality has been requested
          many times by Mathomatic command line users.  A complete example:

CHANGES MADE TO MATHOMATIC 15.1.6 TO BRING IT UP TO THE NEXT VERSION:

Minor improvements were made to the user documentation.

8/22/10 - Removed "Complex number roots approximated" warning message, since this happens often.

          Capitalized E, I, PI, and Pi are now accepted as the universal constants e, i, and pi,
          without needing to enter "set no case".  This allows Mathomatic to easily
          accept Mathematica style expression input.

          m4 Mathomatic now additionally accepts Mathematica style capitalized function input.
          matho and rmath now display elapsed, CPU, and system times in seconds upon exit.

8/23/10 - Fixed #equation-number entry at the main prompt to always work and allow an expression
          or equation following on the same line to be entered at that equation space.
          For example: "#10 y=1/x" will work now;
          previously only worked if equation space number 10 was previously allocated and used.
          The way it works is: all equation spaces up to and including number 10 are allocated,
          if not already allocated, upon entry of "#10".
          Equations spaces are allocated with the memory allocator malloc(3).

CHANGES MADE TO MATHOMATIC 15.1.5 TO BRING IT UP TO THE NEXT VERSION:

7/26/10 - Disabled ncurses call for auto-color detection when CYGWIN is defined while
          compiling the source code, due to a reported problem of readline failing with
          ncurses in Cygwin.

7/28/10 - Disabled readline history save file for the Cygwin port,
          because it is a filename that starts with a period.

7/31/10 - Added "set fractions_display" option, to allow disabling the automatic conversion of
          fractions like .5 to 1/2 for display.
          Developer requested and useful in the symbolic math library,
          when numerical fraction output isn't wanted.

8/01/10 - Fixed a memory leak when ignoring the output string in the symbolic math library.

8/04/10 - Preserve overflowed powers like 2^2222 rather than aborting with an error message.
          Allow simplification of math like 2*2^2222 and 2/2^2222.

8/08/10 - matho-primes runs twice as fast with the -ffast-math gcc compilation option,
          which is now enabled by default.  Don't try -ffast-math with the main Mathomatic
          program though, because then Mathomatic won't work properly.

CHANGES MADE TO MATHOMATIC 15.1.4 TO BRING IT UP TO THE NEXT VERSION:

Many minor tweaks and improvements.

7/03/10 - Makefiles and compile scripts were corrected and enhanced
          per http://www.gnu.org/prep/standards/

7/06/10 - Changed all "#if true" and "#if false" conditional commenting to "#if 1" and "#if 0"
          in the C source code, thanks to Min Sik Kim of NetBSD pkgsrc.

CHANGES MADE TO MATHOMATIC 15.1.3 TO BRING IT UP TO THE NEXT VERSION:

All of the Unix man pages and user manuals for Mathomatic were fixed.

The compare and "solve verify" commands now simplify more thoroughly with "repeat simplify"
for better expression equality determination.

6/17/10 - Greatly improved file operation error reporting by using the perror(3) function.

6/18/10 - Fixed categories in "icons/mathomatic.desktop";
          Mathomatic now goes under valid categories, mainly Education.

CHANGES MADE TO MATHOMATIC 15.1.2 TO BRING IT UP TO THE NEXT VERSION:

6/6/10 - I made mistakes in the improvement to the simplify command of version 15.1.2,
         the original working simplify logic of version 15.1.1 is now restored, sorry.

CHANGES MADE TO MATHOMATIC 15.1.1 TO BRING IT UP TO THE NEXT VERSION:

A general cleanup was done.
A small improvement was made to the final result of the simplify and fraction commands.
Showing intermediate results in the calculate, sum, and product commands is now done with "set debug 1".

5/28/10 - Added "tests/collatz.in", the Collatz conjecture as an automatically computable equation.

CHANGES MADE TO MATHOMATIC 15.1.0 TO BRING IT UP TO THE NEXT VERSION:

Code and documentation cleanup.

5/21/10 - Added "primes/matho-sum", a utility that sums its command line arguments or standard input.
          Use "matho-primes 0 2000000 | matho-sum" to find the sum of all primes less than 2,000,000.
          Solves Project Euler problem #10: http://projecteuler.net/index.php?section=problems&id=10

5/23/10 - Primes (') are allowed in variable names now, if not using the symbolic math library, so that the
          derivative, integrate, and nintegrate commands can change the dependent variable to y', y'', etc.
          This can be turned on in the symbolic math library by the command "set special_variable_characters='".

          Non-alphanumeric characters in variable names are now converted to underline characters (_)
          when exporting to a programming language or to a different program.

CHANGES MADE TO MATHOMATIC 15.0.8 TO BRING IT UP TO THE NEXT VERSION:

5/10/10 - Added "help constants" command.

5/11/10 - Integer variables are now specified by using a variable name that starts with "integer",
          like "integer1", "integer_x", etc.  Currently only the modulus operator "%" checks
          for integer variables, to help with simplification.

5/12/10 - Corrected the output string type of the symbolic math library API.  It was erroneously declared
          as type "const", possibly causing a memory leak.

5/13/10 - Moved and adapted "makefile.lib" to "lib/makefile", so the symbolic math library build is isolated.
          Previously "make clean" was required between different builds.  All makefiles require GNU make now.

CHANGES MADE TO MATHOMATIC 15.0.7 TO BRING IT UP TO THE NEXT VERSION:

4/26/10 - Allow "make pdf" to generate PDF documentation from the HTML documentation with htmldoc.
          Please read the comments in the makefile for all available options.

4/29/10 - For every makefile, CFLAGS has been modified to include OPTFLAGS as required by the Fedora Linux
          build system, and OPTFLAGS defaults to the optional gcc specific flags like optimization.

          In the symbolic math library, made available the equation number of the result of calling the API,
          if also stored in an equation space.  The result equation number is stored in the global "result_en".
          Useful if you want to know where the result was stored, to act on it with further commands.

CHANGES MADE TO MATHOMATIC 15.0.6 TO BRING IT UP TO THE NEXT VERSION:

Corrections and improvements to the documentation were made.

4/3/10 - Vastly improved the "factor number" user interface, now factors integer expressions like 2^32-1.
         "factor number" is disabled in library mode.

4/13/10 - The real and imaginary commands no longer fail when the expression is not complex,
          just a warning is given.

4/14/10 - Changed normal display of "-1*" to "-", for prettier 2D expression output,
          so things like "-a" display properly, not as "-1*a".

CHANGES MADE TO MATHOMATIC 15.0.5:

1/28/10 - Added a Python utility called "primorial" to the Prime Number Tools install
          that multiplies together the results of matho-primes, displaying the primorials
          of the integers given on the command line.

3/18/10 - Changed author email address to "gesslein@linux.com".

3/23/10 - Catch SIGHUP and SIGTERM signals for proper termination of the Mathomatic program;
          readline was messing up when Mathomatic was terminated by closing the shell window.
          The plot command now always plots expressions with grid marks displayed for reference.

CHANGES MADE TO MATHOMATIC 15.0.4:

1/21/10 - In the makefile, changed the HTML man page generator back to rman because
          groff HTML output looks really bad and rman allows linking to other man pages.
          groff is no longer used.

1/24/10 - Fixed "make m4install", the installed rmath and matho programs weren't working.

1/27/10 - Added GNU LGPL license notices to every C source file with a copyright notice,
          for proper protections.

CHANGES MADE TO MATHOMATIC 15.0.3:

1/9/10 - Fixed a problem only in the version 15.0.3 makefile, where it didn't respect
         the CC environment variable set by the user, instead it always used "gcc"
         as the C compiler.

CHANGES MADE TO MATHOMATIC 15.0.2:

12/27/09 - Moved get_screen_size() from main.c to am.c because it is used in the library when
           compile-time options UNIX or CYGWIN are defined.
           Thanks to Cygwin port maintainer Reini Urban for noticing and fixing this problem.
           Defining UNIX or CYGWIN in library mode is not recommended.

12/31/09 - Added code to allow any command to be preceded by "repeat", which sets the
           repeat flag for the following command.  Most commands ignore the repeat flag.

1/1/10 - Ported divide and roots commands to be repeatable.  Also repeatable are the
         calculate and eliminate commands.

1/2/10 - Allow Taylor series computation even if the specified differentiation variable
         is not found in the expression, giving a warning.
         Ported simplify command to be a repeatable full simplify; that is, typing
         "repeat simplify" repeatedly runs the simplify command until the result stabilizes
         to the smallest size expression.

1/7/10 - Thanks to pretty C code submitted by Simon Geard,
         the code and variables commands have been made much more readable.

1/8/10 - Made Mathomatic easier to compile under Solaris, thanks to Michael Pogue of Sun.
         Fixed failure to compile under BSD Unix when compiling with readline support.

CHANGES MADE TO MATHOMATIC 15.0.1:

12/19/09 - The last few versions fix the ugliness caused by the GCD factoring change made on 6/22/09.
           Today's change factors out the numerical GCD of rational coefficients as needed to simplify.
           Most simplification results should be beautiful and the simplest possible again now,
           without the misleading observed magnitude caused by always factoring out the GCD,
           which was why the change of 6/22/09 was made.

CHANGES MADE TO MATHOMATIC 15.0.0:

12/12/09 - Fixed a problem with the -q (quiet mode) option being ignored if the session options
           were ever saved with the "set save" command.

12/13/09 - Added code to allow Mathomatic output to be redirected by default.
           Fixed the derivative command to be successful even when the result is 0,
           when compiled as a library.

12/14/09 - Added ability to log symbolic math library results, and made command behavior
           more consistent in the library by always returning the final result string.

12/16/09 - The factor command now factors more by factoring out the GCD of rational coefficients.

CHANGES MADE TO MATHOMATIC 14.6.3 TO BRING IT UP TO 15.0.0:

Cleanup and more bug fixes.

11/26/09 - Added detection of the terminal's ANSI color availability, when readline is enabled.

11/28/09 - Added detection of divide by zero and NaN when using the "solve verify" command,
           for more correct results.
           Solving now factors out the GCD of rational coefficients, for improved results.
           The fixes today are from errors solving equations like (2*x/(x - 3)) + 3 = 6/(x - 3)

11/29/09 - Disallow the variable named "nan".  NaN cannot be directly entered into Mathomatic.

11/30/09 - Added shell scripts "t" and "tests/t" to easily test Mathomatic by typing "./t".

12/2/09 - The fraction command now factors out the GCD of rational coefficients like the
          solve command does, so that coefficients in algebraic fractions become integers.
          The GCD verifying routine was perfected by making it very strict, like it should be.


(asau)
diff -r1.91 -r1.92 pkgsrc/math/mathomatic/Makefile
diff -r1.13 -r1.14 pkgsrc/math/mathomatic/PLIST
diff -r1.80 -r1.81 pkgsrc/math/mathomatic/distinfo
diff -r1.22 -r1.23 pkgsrc/math/mathomatic/patches/patch-aa

cvs diff -r1.91 -r1.92 pkgsrc/math/mathomatic/Makefile (expand / switch to unified diff)

--- pkgsrc/math/mathomatic/Makefile 2009/09/22 02:05:50 1.91
+++ pkgsrc/math/mathomatic/Makefile 2010/08/30 02:48:40 1.92
@@ -1,34 +1,29 @@ @@ -1,34 +1,29 @@
1# $NetBSD: Makefile,v 1.91 2009/09/22 02:05:50 minskim Exp $ 1# $NetBSD: Makefile,v 1.92 2010/08/30 02:48:40 asau Exp $
2# 2#
3 3
4DISTNAME= mathomatic-14.5.5 4DISTNAME= mathomatic-15.2.0
5CATEGORIES= math 5CATEGORIES= math
6MASTER_SITES= http://www.panix.com/~gesslein/ 6MASTER_SITES= http://mathomatic.org/
7EXTRACT_SUFX= .tar.bz2 7EXTRACT_SUFX= .tar.bz2
8 8
9MAINTAINER= minskim@NetBSD.org 9MAINTAINER= minskim@NetBSD.org
10HOMEPAGE= http://www.mathomatic.org/ 10HOMEPAGE= http://www.mathomatic.org/
11COMMENT= Small portable symbolic math program 11COMMENT= Small portable symbolic math program
 12LICENSE= gnu-lgpl-v2.1
12 13
13PKG_INSTALLATION_TYPES= overwrite pkgviews 14PKG_INSTALLATION_TYPES= overwrite pkgviews
14PKG_DESTDIR_SUPPORT= user-destdir 15PKG_DESTDIR_SUPPORT= user-destdir
15 16
16NO_CONFIGURE= yes 17NO_CONFIGURE= yes
17MAKE_FILE= makefile 18MAKE_FILE= makefile
 19USE_TOOLS+= gmake
18 20
19CFLAGS.SunOS+= -DSOLARIS 21CFLAGS.SunOS+= -DSOLARIS
20 22
21INSTALLATION_DIRS= bin ${PKGMANDIR}/man1 23TEST_TARGET= test
22 24
23BUILDLINK_API_DEPENDS.readline+= readline>=5.1pl1nb1 25BUILDLINK_API_DEPENDS.readline+= readline>=5.1pl1nb1
24.include "../../devel/readline/buildlink3.mk" 26.include "../../devel/readline/buildlink3.mk"
25 27#.include "../../devel/ncurses/buildlink3.mk"
26do-install: 28#.include "../../sysutils/desktop-file-utils/desktopdb.mk"
27 ${INSTALL_PROGRAM} ${WRKSRC}/mathomatic ${DESTDIR}${PREFIX}/bin 
28 ${INSTALL_MAN} ${WRKSRC}/mathomatic.1 \ 
29 ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 
30 ${INSTALL_DATA_DIR} ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} 
31 ${INSTALL_DATA} ${WRKSRC}/doc/* ${WRKSRC}/README.txt \ 
32 ${DESTDIR}${PREFIX}/share/doc/${PKGBASE} 
33 
34.include "../../mk/bsd.pkg.mk" 29.include "../../mk/bsd.pkg.mk"

cvs diff -r1.13 -r1.14 pkgsrc/math/mathomatic/PLIST (expand / switch to unified diff)

--- pkgsrc/math/mathomatic/PLIST 2009/06/14 18:05:45 1.13
+++ pkgsrc/math/mathomatic/PLIST 2010/08/30 02:48:40 1.14
@@ -1,17 +1,78 @@ @@ -1,17 +1,78 @@
1@comment $NetBSD: PLIST,v 1.13 2009/06/14 18:05:45 joerg Exp $ 1@comment $NetBSD: PLIST,v 1.14 2010/08/30 02:48:40 asau Exp $
2bin/mathomatic 2bin/mathomatic
3man/man1/mathomatic.1 3man/man1/mathomatic.1
 4share/applications/mathomatic.desktop
 5share/doc/mathomatic/AUTHORS
 6share/doc/mathomatic/COPYING
4share/doc/mathomatic/README.txt 7share/doc/mathomatic/README.txt
5share/doc/mathomatic/am.html 8share/doc/mathomatic/VERSION
6share/doc/mathomatic/doc.css 9share/doc/mathomatic/changes.txt
7share/doc/mathomatic/favicon.ico 10share/doc/mathomatic/factorial/README.txt
8share/doc/mathomatic/greenfade.png 11share/doc/mathomatic/factorial/fact.c
9share/doc/mathomatic/index.html 12share/doc/mathomatic/factorial/fact.py
10share/doc/mathomatic/led_circle_green.png 13share/doc/mathomatic/factorial/factorial
11share/doc/mathomatic/manual.html 14share/doc/mathomatic/factorial/intfact.c
12share/doc/mathomatic/matho-pascal.1.html 15share/doc/mathomatic/html/README.txt
13share/doc/mathomatic/matho-primes.1.html 16share/doc/mathomatic/html/am.html
14share/doc/mathomatic/matho-sumsq.1.html 17share/doc/mathomatic/html/doc.css
15share/doc/mathomatic/mathomatic.1.html 18share/doc/mathomatic/html/favicon.ico
16share/doc/mathomatic/mathomatic16x16.png 19share/doc/mathomatic/html/greenfade.png
17share/doc/mathomatic/open_book_nae_02.png 20share/doc/mathomatic/html/index.html
 21share/doc/mathomatic/html/led_circle_green.png
 22share/doc/mathomatic/html/manual.html
 23share/doc/mathomatic/html/matho-mult.1.html
 24share/doc/mathomatic/html/matho-pascal.1.html
 25share/doc/mathomatic/html/matho-primes.1.html
 26share/doc/mathomatic/html/matho-sum.1.html
 27share/doc/mathomatic/html/matho-sumsq.1.html
 28share/doc/mathomatic/html/mathomatic.1.html
 29share/doc/mathomatic/html/mathomatic16x16.png
 30share/doc/mathomatic/html/open_book_nae_02.png
 31share/doc/mathomatic/html/primorial.1.html
 32share/doc/mathomatic/m4/README.txt
 33share/doc/mathomatic/m4/functions.m4
 34share/doc/mathomatic/m4/matho
 35share/doc/mathomatic/m4/matho-install
 36share/doc/mathomatic/m4/matho-uninstall
 37share/doc/mathomatic/m4/rmath
 38share/doc/mathomatic/tests/README.txt
 39share/doc/mathomatic/tests/all.in
 40share/doc/mathomatic/tests/all.out
 41share/doc/mathomatic/tests/circles.in
 42share/doc/mathomatic/tests/collatz.in
 43share/doc/mathomatic/tests/conversions.in
 44share/doc/mathomatic/tests/cubic.in
 45share/doc/mathomatic/tests/david.in
 46share/doc/mathomatic/tests/demo.in
 47share/doc/mathomatic/tests/distance.in
 48share/doc/mathomatic/tests/electronics.in
 49share/doc/mathomatic/tests/ellipse.in
 50share/doc/mathomatic/tests/examples.in
 51share/doc/mathomatic/tests/fibonacci.in
 52share/doc/mathomatic/tests/finance.in
 53share/doc/mathomatic/tests/fix1.in
 54share/doc/mathomatic/tests/fix2.in
 55share/doc/mathomatic/tests/fix5.in
 56share/doc/mathomatic/tests/fix7.in
 57share/doc/mathomatic/tests/fix8.in
 58share/doc/mathomatic/tests/fix9.in
 59share/doc/mathomatic/tests/fraction.in
 60share/doc/mathomatic/tests/geometry.in
 61share/doc/mathomatic/tests/heron.in
 62share/doc/mathomatic/tests/how_limit_works.in
 63share/doc/mathomatic/tests/hypertrig.in
 64share/doc/mathomatic/tests/limits.in
 65share/doc/mathomatic/tests/linear.in
 66share/doc/mathomatic/tests/pie.in
 67share/doc/mathomatic/tests/points.in
 68share/doc/mathomatic/tests/poly.in
 69share/doc/mathomatic/tests/pyth3d.in
 70share/doc/mathomatic/tests/radius.in
 71share/doc/mathomatic/tests/simplify.in
 72share/doc/mathomatic/tests/t
 73share/doc/mathomatic/tests/test.in
 74share/doc/mathomatic/tests/test1.in
 75share/doc/mathomatic/tests/test2.in
 76share/doc/mathomatic/tests/test6.in
 77share/doc/mathomatic/tests/trig.in
 78share/pixmaps/mathomatic.png

cvs diff -r1.80 -r1.81 pkgsrc/math/mathomatic/distinfo (expand / switch to unified diff)

--- pkgsrc/math/mathomatic/distinfo 2009/09/22 02:05:50 1.80
+++ pkgsrc/math/mathomatic/distinfo 2010/08/30 02:48:40 1.81
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.80 2009/09/22 02:05:50 minskim Exp $ 1$NetBSD: distinfo,v 1.81 2010/08/30 02:48:40 asau Exp $
2 2
3SHA1 (mathomatic-14.5.5.tar.bz2) = 728b028dfc5a9324daaecf8c46f5baed353adcc4 3SHA1 (mathomatic-15.2.0.tar.bz2) = 88ca0a5dd53077b23e3d86c4b37f3ed5cefb4c60
4RMD160 (mathomatic-14.5.5.tar.bz2) = 132b8dfbf10f0cb058ea69f04580d0e787d4e555 4RMD160 (mathomatic-15.2.0.tar.bz2) = 7f5514c9f2f3a4302800a01d0054eced1a501c42
5Size (mathomatic-14.5.5.tar.bz2) = 170610 bytes 5Size (mathomatic-15.2.0.tar.bz2) = 179777 bytes
6SHA1 (patch-aa) = a9fd4cf2672e901d234e15511779663f7f8a9a59 6SHA1 (patch-aa) = a72a4bead52cad86cbd8313a180dac0fcbb895f7

cvs diff -r1.22 -r1.23 pkgsrc/math/mathomatic/patches/Attic/patch-aa (expand / switch to unified diff)

--- pkgsrc/math/mathomatic/patches/Attic/patch-aa 2009/09/22 02:05:50 1.22
+++ pkgsrc/math/mathomatic/patches/Attic/patch-aa 2010/08/30 02:48:41 1.23
@@ -1,15 +1,36 @@ @@ -1,15 +1,36 @@
1$NetBSD: patch-aa,v 1.22 2009/09/22 02:05:50 minskim Exp $ 1$NetBSD: patch-aa,v 1.23 2010/08/30 02:48:41 asau Exp $
2 2
3--- makefile.orig 2009-09-05 08:12:42.000000000 -0700 3--- makefile.orig 2010-08-09 00:45:21.000000000 +0000
4+++ makefile 4+++ makefile 2010-08-10 22:40:20.000000000 +0000
5@@ -10,8 +10,8 @@ CFLAGS += -O -DUNIX -DVERSION=\"$(VERSI 5@@ -27,10 +27,11 @@
6 LDLIBS += -lm # libraries to link 6 #LDFLAGS += -m64
7  7
8 # "make READLINE=1" to include readline support: 8 # Install directories follow; installs everything in /usr/local by default:
9-CFLAGS += $(READLINE:1=-DREADLINE) 9-prefix ?= /usr/local
10-LDLIBS += $(READLINE:1=-lreadline -lncurses) 10-bindir ?= $(prefix)/bin
11+CFLAGS += -DREADLINE 11-mandir ?= $(prefix)/share/man
12+LDLIBS += -lreadline 12-docdir ?= $(prefix)/share/doc
 13+DESTDIR=
 14+prefix ?= /usr/pkg
 15+bindir ?= $(DESTDIR)$(prefix)/bin
 16+mandir ?= $(DESTDIR)$(prefix)/man
 17+docdir ?= $(DESTDIR)$(prefix)/share/doc
 18 mathdocdir ?= $(docdir)/mathomatic
13  19
14 # Uncomment the following to generate 64bit x86-64 code: 20 # Mathomatic program names (can be changed):
15 #CFLAGS += -m64 21@@ -137,11 +138,11 @@
 22
 23 bininstall:
 24 $(INSTALL) -d $(bindir)
 25- $(INSTALL) -d $(prefix)/share/applications
 26- $(INSTALL) -d $(prefix)/share/pixmaps
 27+ $(INSTALL) -d $(DESTDIR)$(prefix)/share/applications
 28+ $(INSTALL) -d $(DESTDIR)$(prefix)/share/pixmaps
 29 $(INSTALL_PROGRAM) $(AOUT) $(bindir)
 30- $(INSTALL_DATA) icons/mathomatic.desktop $(prefix)/share/applications
 31- $(INSTALL_DATA) icons/mathomatic.png $(prefix)/share/pixmaps
 32+ $(INSTALL_DATA) icons/mathomatic.desktop $(DESTDIR)$(prefix)/share/applications
 33+ $(INSTALL_DATA) icons/mathomatic.png $(DESTDIR)$(prefix)/share/pixmaps
 34
 35 docinstall:
 36 $(INSTALL) -d $(mandir)/man1