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 | PortGroup mpi 1.0 |
---|
5 | |
---|
6 | name spooles |
---|
7 | version 2.2 |
---|
8 | categories math |
---|
9 | platforms darwin |
---|
10 | maintainers {gmail.com:mark.brethen @mbrethen} openmaintainer |
---|
11 | license Public-Domain |
---|
12 | |
---|
13 | description SParse Object Oriented Linear Equations Solver |
---|
14 | |
---|
15 | long_description SPOOLES is a library for solving sparse real and complex linear systems of \ |
---|
16 | equations, written in the C language using object oriented design. The \ |
---|
17 | SPOOLES library operates in serial, multithreaded or MPI environments. |
---|
18 | |
---|
19 | homepage http://www.netlib.org/linalg/spooles/spooles.2.2.html |
---|
20 | master_sites http://www.netlib.org/linalg/spooles/ |
---|
21 | |
---|
22 | if {${name} eq ${subport}} { |
---|
23 | distname ${name}.${version} |
---|
24 | extract.suffix .tgz |
---|
25 | |
---|
26 | checksums rmd160 caeb116e40426d3bd85dc3551c1c8491b19dc1da \ |
---|
27 | sha256 a84559a0e987a1e423055ef4fdf3035d55b65bbe4bf915efaa1a35bef7f8c5dd \ |
---|
28 | size 4510271 \ |
---|
29 | |
---|
30 | extract.mkdir yes |
---|
31 | |
---|
32 | patch.dir ${workpath} |
---|
33 | patchfiles patch-spooles-build.diff |
---|
34 | |
---|
35 | post-patch { |
---|
36 | reinplace -W ${worksrcpath} "s|@@VERSION@@|${version}|g" MT/src/makeGlobalLib MPI/src/makeGlobalLib |
---|
37 | reinplace -W ${worksrcpath} "s|@@PREFIX@@|${prefix}|g" Make.inc MT/src/makeGlobalLib MPI/src/makeGlobalLib |
---|
38 | reinplace "s|@@CC@@|${configure.cc}|g" ${worksrcpath}/Make.inc |
---|
39 | reinplace "s|@@CFLAGS@@|${configure.cflags}|g" ${worksrcpath}/Make.inc |
---|
40 | reinplace "s|@@LDFLAGS@@|${configure.ldflags}|g" ${worksrcpath}/Make.inc |
---|
41 | } |
---|
42 | |
---|
43 | use_configure no |
---|
44 | |
---|
45 | mpi.setup -mpich_devel -openmpi -openmpi_devel |
---|
46 | |
---|
47 | build.target global |
---|
48 | |
---|
49 | post-build { |
---|
50 | if {[mpi_variant_isset]} { |
---|
51 | build.dir ${worksrcpath}/MPI/src |
---|
52 | } else { |
---|
53 | build.dir ${worksrcpath}/MT/src |
---|
54 | } |
---|
55 | system -W ${build.dir} "${build.cmd} -f makeGlobalLib" |
---|
56 | } |
---|
57 | |
---|
58 | destroot { |
---|
59 | xinstall -d ${destroot}${prefix}/include/${name} |
---|
60 | copy ${worksrcpath}/spooles.a ${destroot}${prefix}/lib/libspooles.a |
---|
61 | copy ${worksrcpath}/libspooles.1.dylib ${destroot}${prefix}/lib |
---|
62 | ln -sf libspooles.1.dylib ${destroot}${prefix}/lib/libspooles.dylib |
---|
63 | |
---|
64 | if {[mpi_variant_isset]} { |
---|
65 | xinstall -d ${destroot}${prefix}/include/${name}/MPI |
---|
66 | copy {*}[glob ${worksrcpath}/MPI/*.h] ${destroot}${prefix}/include/${name}/MPI/. |
---|
67 | } else { |
---|
68 | xinstall -d ${destroot}${prefix}/include/${name}/MT |
---|
69 | copy {*}[glob ${worksrcpath}/MT/*.h] ${destroot}${prefix}/include/${name}/MT/. |
---|
70 | } |
---|
71 | copy {*}[glob ${worksrcpath}/*.h] ${destroot}${prefix}/include/${name}/. |
---|
72 | foreach i {A2 BPG Chv ChvList ChvManager Coords DenseMtx DSTree Drand DV ETree \ |
---|
73 | FrontMtx GPart Graph I2Ohash IIheap IV IVL Ideq InpMtx Lock MSMD \ |
---|
74 | PatchAndGoInfo Pencil SolveMap SubMtx SubMtxList SubMtxManager \ |
---|
75 | SymbFac Tree Utilities ZV misc} { |
---|
76 | xinstall -d ${destroot}${prefix}/include/${name}/${i} |
---|
77 | copy {*}[glob ${worksrcpath}/${i}/*.h] ${destroot}${prefix}/include/${name}/${i}/. |
---|
78 | } |
---|
79 | } |
---|
80 | |
---|
81 | universal_variant no |
---|
82 | |
---|
83 | livecheck.type regex |
---|
84 | livecheck.url ${master_sites} |
---|
85 | livecheck.regex "${distfiles}" |
---|
86 | } else { |
---|
87 | livecheck.type none |
---|
88 | } |
---|
89 | |
---|
90 | subport ${name}-doc { |
---|
91 | description Build and/or install documentation |
---|
92 | |
---|
93 | long_description ${description} for SPOOLES. |
---|
94 | |
---|
95 | dist_subdir ${subport} |
---|
96 | |
---|
97 | distfiles AllInOne.ps.gz \ |
---|
98 | Eigen.ps.gz \ |
---|
99 | Install.ps.gz \ |
---|
100 | LinSol.ps.gz \ |
---|
101 | Ordering.ps.gz \ |
---|
102 | PP99.ps.gz \ |
---|
103 | ReferenceManual.ps.gz |
---|
104 | |
---|
105 | checksums AllInOne.ps.gz \ |
---|
106 | rmd160 6668f2fc8a01f0bb2c9d9c1df329fb448960b65f \ |
---|
107 | sha256 dd7d081ad2c633ee7e01b2665959c1a085beec4d3efbf97aeb61d10e6e2b7f3d \ |
---|
108 | size 109732 \ |
---|
109 | Eigen.ps.gz \ |
---|
110 | rmd160 dc14d9511e930f94e3be296ee85a835424d5ddcf \ |
---|
111 | sha256 77bd98696c95bafa88206af8fd8d4b00e543e1c8d1da8d289f89dd216c14ca03 \ |
---|
112 | size 501176 \ |
---|
113 | Install.ps.gz \ |
---|
114 | rmd160 27f7e4e90a12d0d206880c5ab1af10528ea4cabf \ |
---|
115 | sha256 f2defd0ae767678d08654acddefc06b6c19219d15b3f470bf495bb81766d7ab9 \ |
---|
116 | size 487274 \ |
---|
117 | LinSol.ps.gz \ |
---|
118 | rmd160 c3897057e0fd20e5a1283b2d5890b64deecb6e30 \ |
---|
119 | sha256 e9f2488b5fdf26fd0f3bc14e81cc0ed6b43b6c5bcdbc570c3c7375fb1d92832f \ |
---|
120 | size 503095 \ |
---|
121 | Ordering.ps.gz \ |
---|
122 | rmd160 ad1484b0aa3753bc3c12de45099863f11117c844 \ |
---|
123 | sha256 4de3794fa4a6acd94fe6d384ba660d39d9fe65e98ee0ab968392896d6e1c36f1 \ |
---|
124 | size 592802 \ |
---|
125 | PP99.ps.gz \ |
---|
126 | rmd160 dcd8d2d7f11a507a08b8b33eda451ea2ab793025 \ |
---|
127 | sha256 402263bb4eeec72e2d7395f7d992a957cd2f5876f3aaa8947d640401faff1c9a \ |
---|
128 | size 596047 \ |
---|
129 | ReferenceManual.ps.gz \ |
---|
130 | rmd160 20c1e6f59d0d8d8ef71f5d958d0e19b0855c40a1 \ |
---|
131 | sha256 37f4606f8d47a7de48c68bc524a27a54926905cf334b7ddabef36e626f7e21d0 \ |
---|
132 | size 1198763 |
---|
133 | |
---|
134 | extract.only |
---|
135 | use_configure no |
---|
136 | |
---|
137 | build {} |
---|
138 | |
---|
139 | destroot { |
---|
140 | xinstall -d ${destroot}${prefix}/share/doc/${name} |
---|
141 | foreach f ${distfiles} { |
---|
142 | set stem [file rootname [file tail ${f}]] |
---|
143 | system -W ${distpath} "gunzip -c ${f} > ${destroot}${prefix}/share/doc/${name}/${stem}" |
---|
144 | } |
---|
145 | } |
---|
146 | } |
---|