1 | # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4 |
---|
2 | |
---|
3 | PortSystem 1.0 |
---|
4 | |
---|
5 | name fricas |
---|
6 | version 1.3.2 |
---|
7 | categories math |
---|
8 | maintainers {@pietvo vanoostrum.org:piet} |
---|
9 | platforms darwin |
---|
10 | supported_archs i386 x86_64 |
---|
11 | license BSD |
---|
12 | |
---|
13 | description The Fricas computer algebra system |
---|
14 | long_description \ |
---|
15 | FriCAS is a computer algebra system. FriCAS is a fork of Axiom. \ |
---|
16 | The basic goal of FriCAS is to create a free advanced \ |
---|
17 | world-class CAS. FriCAS builds on the Axiom codebase. The FriCAS \ |
---|
18 | algebra library is one of the largest and most advanced free \ |
---|
19 | general purpose computer algebra systems -- this gives a good \ |
---|
20 | foundation to build on. Additionally, the FriCAS algebra library \ |
---|
21 | is written in a high level strongly typed language (Spad), which \ |
---|
22 | allows natural expression of mathematical algorithms. This makes \ |
---|
23 | FriCAS easier to understand and extend. |
---|
24 | |
---|
25 | homepage http://fricas.sourceforge.net/ |
---|
26 | master_sites sourceforge:${name}/${version} |
---|
27 | distname ${name}-${version}-full |
---|
28 | use_bzip2 yes |
---|
29 | worksrcdir ${name}-${version} |
---|
30 | |
---|
31 | checksums rmd160 1ab5c148f0684c946c3b0831a5fe01fc21bbe83a \ |
---|
32 | sha256 798b123e61f3566e6b1b367c235f5b4599a9c737b938aa71f32d0aabb7db439d \ |
---|
33 | md5 0d3af65758ce93b1cc52c2511e73e674 \ |
---|
34 | sha1 8fc3e850a9890eac21cd9f391dd58000b3537067 |
---|
35 | |
---|
36 | configure.dir ${workpath}/fricas-build |
---|
37 | configure.cmd ${worksrcpath}/configure |
---|
38 | pre-configure {file mkdir ${configure.dir}} |
---|
39 | |
---|
40 | build.dir ${configure.dir} |
---|
41 | build.args MAYBE_VIEWPORTS=viewports |
---|
42 | |
---|
43 | variant x11 description {Enable X11 support.\ |
---|
44 | Without X11, Fricas does not support graphics and hyperdoc} { |
---|
45 | configure.args-append --with-x -x-includes=${prefix}/include \ |
---|
46 | -x-libraries=${prefix}/lib |
---|
47 | depends_lib-append port:xorg-libX11 \ |
---|
48 | port:xpm \ |
---|
49 | port:xorg-libice \ |
---|
50 | port:xorg-libsm |
---|
51 | } |
---|
52 | |
---|
53 | variant sbcl conflicts ccl ecl \ |
---|
54 | description {Use SBCL as lisp implementation} { |
---|
55 | depends_lib-append port:sbcl |
---|
56 | configure.args-append --with-lisp=sbcl |
---|
57 | } |
---|
58 | |
---|
59 | if { ${configure.build_arch} eq "x86_64" } { |
---|
60 | set ccl_script ccl64 |
---|
61 | } elseif { ${configure.build_arch} eq "i386" } { |
---|
62 | set ccl_script ccl |
---|
63 | } |
---|
64 | |
---|
65 | variant ccl conflicts gmp sbcl ecl \ |
---|
66 | description {Use CCL (Clozure) instead of SBCL as lisp implementation} { |
---|
67 | depends_lib-append port:ccl |
---|
68 | configure.args-append --with-lisp=${ccl_script} |
---|
69 | } |
---|
70 | |
---|
71 | variant ecl conflicts gmp sbcl ccl \ |
---|
72 | description {Use ECL instead of SBCL as lisp implementation} { |
---|
73 | depends_lib-append port:ecl |
---|
74 | configure.args-append --with-lisp=ecl |
---|
75 | } |
---|
76 | |
---|
77 | # Fricas doesn't compile under GCL |
---|
78 | # Fricas compiles under CLISP but doesn't run correctly |
---|
79 | # So we leave these variants out until we get them working |
---|
80 | |
---|
81 | variant gmp conflicts ccl ecl \ |
---|
82 | description {Use libgmp for faster calculations} { |
---|
83 | configure.args-append --enable-gmp |
---|
84 | depends_lib-append port:gmp |
---|
85 | patchfiles-append use-macports-gmp.patch |
---|
86 | post-patch { |
---|
87 | reinplace "s|libgmp.so|${prefix}/lib/libgmp.dylib|" ${worksrcpath}/src/lisp/num_gmp.lisp |
---|
88 | } |
---|
89 | } |
---|
90 | |
---|
91 | default_variants +x11 |
---|
92 | |
---|
93 | if { ![variant_isset ccl] && ![variant_isset ecl] } { |
---|
94 | default_variants +sbcl |
---|
95 | } |
---|