Info2: << Package: nan%type_pkg[-blas]-oct%type_pkg[oct] Version: 2.5.5 Type: oct (3.6.0 3.6.1 3.6.2 3.6.3 3.6.4), forge (nan), -blas (-atlas -ref .), gcc (4.7), lapack (3.4.2) Revision: 8 Architecture: << i386, ( %type_raw[-blas] != . ) x86_64 << Maintainer: Alexander Hansen # unfortunately, Homepage won't do types Homepage: http://octave.sourceforge.net/nan/index.html Description: Missing value statistical toolbox for Octave DescDetail: << A statistics and machine learning toolbox for Octave for data with and without missing values. This package provides the following additional functions: coefficient_of_variation geomean meansq skewness covm cor cov corrcoef harmmean median statistic detrend kurtosis moment std mad naninsttest nantest nansum nanstd nanconv nanfft nanfilter nanfilter1uc normpdf normcdf norminv meandev percentile quantile rankcorr ranks rms sumskipnan var mean sem spearman trimean tpdf tcdf tinv zscore flag_implicit_significance xcovf train_sc test_sc xval classify train_lda_sparse decovm gscatter mahal cdfplot hist2res ttest ttest2 xptopen bland_altman cumsumskipnan range << License: GPL3+ BuildDepends: << (%type_raw[-blas] = -atlas) atlas (>=3.10.1-1), (%type_raw[-blas] = -atlas) liboctave%type_pkg[oct]-newatlas-dev, (%type_raw[-blas] = .) liboctave%type_pkg[oct]-accelerate-dev, (%type_raw[-blas] = -ref) lapack%type_pkg[lapack], (%type_raw[-blas] = -ref) liboctave%type_pkg[oct]-ref-dev, gcc%type_pkg[gcc]-compiler, fink-octave-scripts (>= 0.2.0-1), fftw3, hdf5.8 << Depends: << (%type_raw[-blas] = -atlas) atlas-shlibs (>=3.10.1-1), (%type_raw[-blas] = -atlas) octave%type_pkg[oct]-interpreter-newatlas, (%type_raw[-blas] = .) octave%type_pkg[oct]-interpreter-accelerate, (%type_raw[-blas] = -ref) lapack%type_pkg[lapack]-shlibs, (%type_raw[-blas] = -ref) octave%type_pkg[oct]-interpreter-ref, gcc%type_pkg[gcc]-shlibs << Conflicts: << octave-forge, octave-forge-%type_raw[forge] (<< 1.0.7-999), %type_raw[forge]-atlas-oct%type_pkg[oct], %type_raw[forge]-ref-oct%type_pkg[oct], %type_raw[forge]-oct%type_pkg[oct] << Replaces: << octave-forge-%type_raw[forge] (<< 1.0.7-999), %type_raw[forge]-atlas-oct%type_pkg[oct], %type_raw[forge]-ref-oct%type_pkg[oct], %type_raw[forge]-oct%type_pkg[oct] << Source: mirror:sourceforge:octave/%type_raw[forge]-%v.tar.gz Source-MD5: 59b62a01b832f3c269a65f1a92b56f58 SourceDirectory: NaN PatchFile: %{Ni}.patch PatchFile-MD5: 990f9f68a41dffeb6bfdf71ee9af1c65 PatchScript: << #!/bin/sh -ev sed -e 's|@FINKPREFIX@|%p|g' \ -e 's|@OCTVERSION@|%type_raw[oct]|g' \ -e "s|@BLAS_LIBS@|`mkoctfile -p BLAS_LIBS`|" \ -e 's|@GCC@|%type_raw[gcc]|' \ %{PatchFile} | patch -p1 cd src rm *.mexw64 *.mexw32 *.mexa64 << SetLIBS: -L%p/lib/gcc%type_raw[gcc]/lib/ NoSetCPPFLAGS: true NoSetLDFLAGS: true SetLIBRARY_PATH: /usr/X11R6/lib:%p/lib UseMaxBuildJobs: false BuildAsNobody: false CompileScript: << #!/bin/sh -ev if [ %type_pkg[oct] -ge 343 ] then pkgsrc=NaN else pkgsrc=nan fi %p/share/fink-octave-scripts/octave-forge-patch.sh %type_raw[forge] %v %type_raw[oct] %b %i $pkgsrc # needs to use gcc47 to build, so stash a special mkoctfile in %b/bin ./genmkoctfile.sh %type_raw[gcc] export PATH="%b/bin:$PATH" ./octave-forge-compile.sh << InstallScript: ./octave-forge-install.sh PostInstScript: %p/share/octave/%type_raw[oct]/%type_raw[forge]/octave-forge-postinst.sh PreRmScript: %p/share/octave/%type_raw[oct]/%type_raw[forge]/octave-forge-prerm.sh DescPackaging: << This package: Patch to Use BLAS_LIBS output from mkoctfile rather than just -lblas. Wants libgomp; we use gcc47-compiler for that. The package doesn't appear to get along with gcc48: /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib: In function 'long long int std::abs(long long int)': /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib:174:20: error: declaration of C function 'long long int std::abs(long long int)' conflicts with abs(long long __x) { return __builtin_llabs (__x); } ^ /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib:166:3: error: previous declaration 'long int std::abs(long int)' here abs(long __i) { return __builtin_labs(__i); } ^ /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib: In function '__int128 std::abs(__int128)': /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib:179:19: error: declaration of C function '__int128 std::abs(__int128)' conflicts with abs(__int128 __x) { return __x >= 0 ? __x : -__x; } ^ /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib:174:3: error: previous declaration 'long long int std::abs(long long int)' here abs(long long __x) { return __builtin_llabs (__x); } ^ /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib:179:19: error: declaration of C function '__int128 std::abs(__int128)' conflicts with abs(__int128 __x) { return __x >= 0 ? __x : -__x; } ^ /sw/lib/gcc4.8/include/c++/4.8.0/cstdlib:166:3: error: previous declaration 'long int std::abs(long int)' here abs(long __i) { return __builtin_labs(__i); } src/Makefile: patch in the locations of the gcc47-compiler executables and the gcc47-enabled mkoctfile. Common for all octave-forge packages: We read in postinst and prerm template scripts installed by octaveN and modify them to use the name of this package because Octave's package manager can't cope with non-literal arguments. The Type: forge (pkgname) is used to minimize what needs to be changed when using this .info file as a template. << DescPort: << src/xptopen.cpp: OS X defines __DARWIN_BYTE_ORDER, __DARWIN_BIG_ENDIAN, and __DARWIN_LITTLE_ENDIAN rather than just __BYTE_ORDER, __BIG_ENDIAN, and __LITTLE_ENDIAN, respectively, so we #define the latter as their __DARWIN_ counterparts. Clean out mex files for Windows which were included for some reason. << <<