pkgsrc/math/fricas/options.mk
asau 34274ca02f Update to FriCAS 1.2.5
Changes in FriCAS 1.2.5:

- Fixed printing of scripted symbols.
- Fixed 'totalDegreeSorted' (affected Groebner bases).
- Fixed few problems with Hensel lifting (including SF bug 47).
- Fixed 'series' in UnivariateLaurentSeriesConstructor.
- Fixed 'order' in SparseUnivariatePowerSeries.
- Printing of series now respect 'showall' setting, cyclic
  series are detected.
- Fixed problem with interpreter preferring Union to base type.


Changes in FriCAS 1.2.4:

- New cylindrical decomposition package.
- New GnuDraw package for plotting via gnuplot.
- Texmacs interface now handles Cork symbols.
- Added double precision versions of several special functions
      (needed for plotting).
- Nopile mode for Spad is changed to be more convenient.
- 'stringMatch' is removed (was broken beyond repair).

Bug fixes, in particular:

- Fixed intepreter assignment to parts of nested aggregates
      (issue 376).
- Fixed interpreter coercion from Equation to Boolean (issue 359).
- Fix printing of '\%i' in types (issue 132).
- Disabled incorrect shortcut during coercion (issue 29).
- Difference of intervals now agrees with definition as interval
      operation.
- Avoid overwriting loop limit and increment.
- Fix a polynomial gcd failure due to bad reduction.
- Avoid mangling unevaluated algebraic integrals.
- Fix integration of unevaluated derivatives.
- Restore parser handling of '\\/' and '/\\'.
- Properly escape strings and symbols in TeXFormat.


Changes in FriCAS 1.2.3:

- Fixed pattern matching using '%i' in patterns.
- Fixed ')display op coerce'.
- Fixed ')version' command.
- Fixed crash when printing '%'.
- Fix a buffer overflow in HyperDoc.
- Fixed HyperDoc errors in 'Dependants' and 'Users'.
- HyperDoc browser better handles constructors with parameters.


Changes in FriCAS 1.2.2:

- Improvements to 'integrate': better handling of algebraic
  integrals, new routine which handles some integrals contaning
  'lambertW'.
- Improvements to 'limit', now Gruntz algorithm knows about
  a few tractable functions.
- Smith form of sparse integer matrices is now much more
  efficient.
- Generalized indexing for two dimensional arrays.
- Pile/nopile mode is now restored after ')read' or ')compile'.
  Piling rules now accept some forms of multiline lists.
- Eliminated version checking in generated code. Note: this
  change means that Spad code compiled by earlier FriCAS versions
  will not run in FriCAS 1.2.2.
- Updated Aldor interface to work with free Aldor.

Bug fixes, in particular:

- Interpreter can now handle complicated mutually recursive
  functions.
- Spad compiler should now correctly handle 'has' inside a function.
- Fixed derivatives of Whittaker functions.


Changes in FriCAS 1.2.1:

-- Support for building Mac OS application bundle.

Bug fixes, in particular:

-- fixed few cases of wrong or unevaluated integrals.
-- better zero test during limit computation avoids division
   by zero.
-- fixed buffer overflow problems in view3D.
-- 'reducedSystem' on empty input returns basis of correct size.
2015-08-10 08:13:45 +00:00

87 lines
2.5 KiB
Makefile

# $NetBSD: options.mk,v 1.6 2015/08/10 08:13:45 asau Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.fricas
PKG_OPTIONS_REQUIRED_GROUPS= lisp
PKG_OPTIONS_GROUP.lisp= clisp sbcl ecl
PKG_SUPPORTED_OPTIONS+= x11
PKG_SUGGESTED_OPTIONS+= clisp x11
.include "../../mk/bsd.options.mk"
# Select Lisp backend
.if !empty(PKG_OPTIONS:Mclisp)
FASL= fas
BUILD_DEPENDS+= clisp>=2.41:../../lang/clisp
CONFIGURE_ARGS+= --with-lisp=clisp
.endif
.if !empty(PKG_OPTIONS:Msbcl)
FASL= fasl
DEPENDS+= sbcl-[0-9]*:../../lang/sbcl
CONFIGURE_ARGS+= --with-lisp=sbcl
.endif
.if !empty(PKG_OPTIONS:Mecl)
FASL= fas
CONFIGURE_ARGS+= --with-lisp=ecl
.include "../../devel/libffi/buildlink3.mk"
.include "../../lang/ecl/buildlink3.mk"
.endif
# Fix suffix for "fast load" files:
PLIST_SUBST+= FASL=${FASL:Q}
# Generalize "fast load" files
PRINT_PLIST_AWK+= {gsub(/\.${FASL}$$/, ".$${FASL}");}
.if !empty(PKG_OPTIONS:Mclisp)
# Handle CLISP-specific files
PRINT_PLIST_AWK+= {if ($$0 ~ /\.lib$$/) {$$0 = "$${clisp}" $$0;}}
.endif
.if !empty(PKG_OPTIONS:Mecl)
# Handle ECL-specific files
PRINT_PLIST_AWK+= {if ($$0 ~ /\.o$$/) {$$0 = "$${ecl}" $$0;}}
.endif
# X11-only files:
.if !empty(PKG_OPTIONS:Mx11)
#PRINT_PLIST_AWK+= {if ($$0 !~ /^\$${x11}/ && $$0 ~ /\/share\/viewports\// || $$0 ~ /\.(bitmap|xbm|xbm.tiny|bm|bakmap|xpm|ht|pht|ps)$$/) {$$0 = "$${x11}" $$0;}}
# ...where "util.ht" is false positive.
# files in lib/.../bin
.for _file_ in htadd hypertex viewAlone
PRINT_PLIST_AWK+= {if ($$0 !~ /^\$${x11}/ && $$0 ~ /\/bin\/${_file_}$$/) {$$0 = "$${x11}" $$0;}}
.endfor
# files in lib/.../lib
.for _file_ in ex2ht hthits htsearch presea spadbuf view2D view3D viewman
PRINT_PLIST_AWK+= {if ($$0 !~ /^\$${x11}/ && $$0 ~ /\/lib\/${_file_}$$/) {$$0 = "$${x11}" $$0;}}
.endfor
# all files in lib/.../bitmaps
PRINT_PLIST_AWK+= {if ($$0 !~ /^\$${x11}/ && $$0 ~ /\/bitmaps\/[^\/]*$$/) {$$0 = "$${x11}" $$0;}}
# all files in lib/.../lib/graph:
PRINT_PLIST_AWK+= {if ($$0 !~ /^\$${x11}/ && $$0 ~ /\/lib\/graph\/[^\/]*$$/) {$$0 = "$${x11}" $$0;}}
.endif
# X11
.if !empty(PKG_OPTIONS:Mx11)
CONFIGURE_ARGS+= --with-x=yes
CONFIGURE_ENV+= X_LIBS=${LDFLAGS:M*:Q}
.include "../../x11/libX11/buildlink3.mk"
.include "../../x11/libXpm/buildlink3.mk"
.include "../../x11/libXt/buildlink3.mk"
.else
CONFIGURE_ARGS+= --with-x=no
.endif
.for opt in clisp sbcl ecl x11
. if !empty(PKG_OPTIONS:M${opt})
PLIST_SUBST+= ${opt}=""
. else
PLIST_SUBST+= ${opt}="@comment "
. endif
.endfor
# Common for CLISP and SBCL:
.if !empty(PKG_OPTIONS:Mclisp) || !empty(PKG_OPTIONS:Msbcl)
PLIST_SUBST+= clisp-sbcl=""
.else
PLIST_SUBST+= clisp-sbcl="@comment "
.endif