Ticket #57693: Portfile

File Portfile, 7.1 KB (added by mbrethen, 4 years ago)

Spooles-doc: skip extract by setting "extract.only"

Line 
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
3PortSystem          1.0
4PortGroup           mpi 1.0
5
6name                spooles
7version             2.2
8categories          math
9platforms           darwin
10maintainers         {gmail.com:mark.brethen @mbrethen} openmaintainer
11license             Public-Domain
12
13description         SParse Object Oriented Linear Equations Solver
14
15long_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
19homepage            http://www.netlib.org/linalg/spooles/spooles.2.2.html
20master_sites        http://www.netlib.org/linalg/spooles/
21
22if {${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
90subport ${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}