-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathPortfile
More file actions
137 lines (111 loc) · 4.69 KB
/
Copy pathPortfile
File metadata and controls
137 lines (111 loc) · 4.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# -*- 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
PortSystem 1.0
PortGroup muniversal 1.0
name pari
version 2.17.0
revision 0
categories math
license GPL-2+
maintainers {gmail.com:watsonbladd @wbl} openmaintainer
description PARI/GP computer algebra system
long_description PARI/GP is a widely used computer algebra system designed \
for fast computations in number theory (factorizations, \
algebraic number theory, elliptic curves...)
homepage https://pari.math.u-bordeaux.fr/
master_sites ${homepage}pub/pari/unix/
checksums rmd160 78d1611172282144f8de308e01bfee97839c4eae \
sha256 e723e7cef18d08c6ece2283af9a9b4d56077c22b4fce998faaa588d389b1aea8 \
size 5317997
depends_lib port:gmp \
port:ncurses \
port:readline
platform darwin 8 {
build.args-append EXTRADLLDFLAGS="-Wl,-single_module"
destroot.args-append EXTRADLLDFLAGS="-Wl,-single_module"
}
# llvm-gcc produces incorrect code, ticket #33024
compiler.blacklist-append llvm-gcc-4.2
# See: https://trac.macports.org/ticket/59295
compiler.blacklist-append {clang}
configure.cmd ./Configure
# PARI/GP doesn't use autoconf, and if only *FLAGS environment variables are
# used, libreadline is not found. One needs *PATH environment variables.
configure.env C_INCLUDE_PATH=${prefix}/include
# Always use GMP (forced by --with-gmp), as advised by the PARI developers:
# http://www.math.u-bordeaux.fr/~belabas/pari/doc/faq.html#gnump
# There are no reasons not to use it. If a no_gmp variant is needed,
# one would need --without-gmp, as by default, PARI's Configure will
# choose GMP if it can find it.
configure.args --mandir=${prefix}/share/man \
--with-gmp \
--with-readline \
--graphic=none
configure.universal_args-delete --disable-dependency-tracking
set merger_must_run_binaries yes
# pari does not build for ppc on intel
if {${build_arch} eq "i386" || ${build_arch} eq "x86_64"} {
supported_archs i386 x86_64
} elseif {${build_arch} eq "ppc" || ${build_arch} eq "ppc64"} {
supported_archs ppc ppc64
}
set universal_archs_supported ${supported_archs}
post-patch {
if {![variant_isset doc]} {
reinplace "s/\\(doc all:\\).*/\\1/" \
${worksrcpath}/config/DOC_Make.SH
}
}
build.args-append CPLUSPLUS=${configure.cxx}
build.target gp
post-destroot {
set docdir ${destroot}${prefix}/share/doc/${name}
file mkdir ${docdir}
xinstall -m 644 -v -W ${worksrcpath} \
AUTHORS CHANGES COPYING ${docdir}
ln -s ../../${name}/doc ${docdir}/doc
}
variant doc description {Build DVI/PDF/PS documentation} {
depends_build-append path:bin/tex:texlive
build.target-append docpdf
post-destroot {
if {[variant_exists universal] && [variant_isset universal]} {
set dir ${worksrcpath}-[lindex ${universal_archs_to_use} 0]
} else {
set dir ${worksrcpath}
}
xinstall -m 644 -W ${dir}/doc \
develop.pdf libpari.pdf refcard.pdf tutorial.pdf users.pdf \
${destroot}${prefix}/share/${name}/doc
}
}
# Qt support doesn't work with:
# depends_lib-append port:qt4-mac
# configure.args-delete --graphic=none
# configure.args-append --graphic=Qt --with-qt=${prefix}
# Configure succeeds, but the build of src/graph/plotQt.c fails because
# ${prefix}/include/Qt is not in the include search path.
# Plotting works with X11, but the redraw after a window resize is
# sometimes incorrect.
variant x11 conflicts fltk description {Build with X11 support for the high-resolution plotting functions} {
depends_lib-append port:xorg-libX11
configure.args-delete --graphic=none
configure.args-append --graphic=X11
}
# Plotting works with fltk @1.1.10_3, but the GUI part freezes
# (a Force Quit is needed).
variant fltk conflicts x11 description {Build with FLTK support for the high-resolution plotting functions} {
depends_lib-append path:lib/libfltk.dylib:fltk
configure.args-delete --graphic=none
configure.args-append --graphic=fltk
}
variant mt description {Build multithreaded} {
configure.args-append --mt=pthread
}
platform darwin 10 powerpc {
# Without this settings get wrong in Rosetta:
# Building for: i386 running darwin (ix86/GMP kernel) 32-bit version
patchfiles-append patch-rosetta.diff
}
livecheck.type regex
livecheck.url [lindex ${master_sites} 0]
livecheck.regex ${name}-(\\d+\\.\\d+\\.\\d+)