pkgsrc/math/fricas/options.mk

90 lines
2.6 KiB
Makefile
Raw Normal View History

# $NetBSD: options.mk,v 1.7 2017/04/13 13:00:43 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}
PRINT_PLIST_AWK+= {gsub(/${MACHINE_GNU_PLATFORM}/, "$${MACHINE_GNU_PLATFORM}")}
# 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
2009-10-26 08:53:39 +01:00
.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)
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 10:13:45 +02:00
#PRINT_PLIST_AWK+= {if ($$0 !~ /^\$${x11}/ && $$0 ~ /\/share\/viewports\// || $$0 ~ /\.(bitmap|xbm|xbm.tiny|bm|bakmap|xpm|ht|pht|ps)$$/) {$$0 = "$${x11}" $$0;}}
2009-10-26 08:53:39 +01:00
# ...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
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 10:13:45 +02:00
# 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