1 | PortSystem 1.0 |
---|
2 | name fftw3 |
---|
3 | version 3.1.2 |
---|
4 | categories math |
---|
5 | platforms darwin |
---|
6 | maintainers takeshi@mac.com |
---|
7 | homepage http://www.fftw.org/ |
---|
8 | distname fftw-${portversion} |
---|
9 | |
---|
10 | master_sites \ |
---|
11 | ${homepage} \ |
---|
12 | ftp://ftp.fftw.org/pub/fftw/ \ |
---|
13 | ftp://ftp.kusastro.kyoto-u.ac.jp/pub/src/GNU/fftw/ |
---|
14 | |
---|
15 | description \ |
---|
16 | Fast C routines to compute the Discrete Fourier Transform |
---|
17 | |
---|
18 | long_description \ |
---|
19 | FFTW is a C subroutine library for computing the \ |
---|
20 | Discrete Fourier Transform (DFT) in one or more \ |
---|
21 | dimensions, of both real and complex data, and of \ |
---|
22 | arbitrary input size. We believe that FFTW, which is \ |
---|
23 | free software, should become the FFT library of choice \ |
---|
24 | for most applications. Our benchmarks, performed on a \ |
---|
25 | variety of platforms, show that FFTW's performance is \ |
---|
26 | typically superior to that of other publicly available \ |
---|
27 | FFT software. Moreover, FFTW's performance is portable: \ |
---|
28 | the program will perform well on most architectures \ |
---|
29 | without modification. \ |
---|
30 | This port is of fftw version 3.x. It has many \ |
---|
31 | improvements relative to 2.x, but is not backwardly \ |
---|
32 | compatible. |
---|
33 | |
---|
34 | checksums \ |
---|
35 | md5 08f2e21c9fd02f4be2bd53a62592afa4 \ |
---|
36 | sha1 3e4c64009ffb48123a0f30f46c1d89da7810dc67 \ |
---|
37 | rmd160 13069b3582eeaa1fba1614cdca2dfbc2e45ab585 \ |
---|
38 | |
---|
39 | configure.args \ |
---|
40 | --enable-type-prefix \ |
---|
41 | --enable-threads \ |
---|
42 | --enable-fma \ |
---|
43 | --disable-fortran \ |
---|
44 | --mandir=${prefix}/share/man \ |
---|
45 | --infodir=${prefix}/share/info |
---|
46 | |
---|
47 | post-build { |
---|
48 | cd ${worksrcpath} |
---|
49 | system "make check" |
---|
50 | } |
---|
51 | |
---|
52 | variant fortran conflicts g95 { |
---|
53 | depends_lib-append port:gcc40 |
---|
54 | configure.args-delete --disable-fortran |
---|
55 | configure.args-append --enable-fortran=gfortran-dp-4.0 |
---|
56 | } |
---|
57 | |
---|
58 | variant g95 conflicts fortran { |
---|
59 | configure.env-append FC=${prefix}/bin/g95 \ |
---|
60 | FLIBS="-L${prefix}/lib/libf95.a -lf95" |
---|
61 | depends_lib-append port:g95 |
---|
62 | configure.args-delete --disable-fortran |
---|
63 | configure.args-append --enable-fortran |
---|
64 | } |
---|
65 | |
---|
66 | post-destroot { |
---|
67 | configure.args-append --enable-single |
---|
68 | if {$os_arch == "i386"} { |
---|
69 | configure.args-append --without-gcc-arch |
---|
70 | } else { |
---|
71 | configure.args-append --enable-altivec |
---|
72 | } |
---|
73 | system "cd ${worksrcpath}; make clean" |
---|
74 | run_command configure |
---|
75 | run_command build |
---|
76 | cd ${worksrcpath} |
---|
77 | system "make check" |
---|
78 | system "make -j1 install prefix=${destroot}${prefix}" |
---|
79 | } |
---|
80 | |
---|
81 | proc run_command {cmd} { |
---|
82 | if {[catch {system "[command $cmd]"} result]} { |
---|
83 | return -code error "[format [msgcat::mc "%s failure: %s"] $cmd $result]" |
---|
84 | } |
---|
85 | } |
---|
86 | |
---|