the Fink project is an effort to port
popular Unix programs to Mac OS X
Package: gmsh
Version: 2.5.0
Revision: 2
Depends: <<
fltk13-aqua-shlibs,
gmp5-shlibs,
libjpeg8-shlibs,
libpng14-shlibs,
lua51-shlibs,
libncurses5-shlibs,
readline5-shlibs
<<
BuildDepends: <<
cmake,
fltk13-aqua,
gmp5,
libjpeg8,
libpng14,
lua51-dev,
libncurses5,
readline5
<<
Source: http://www.geuz.org/%n/src/%n-%v-source.tgz
Source-MD5: afa48c0296dba08641bc6312b0ccabf5
SourceDirectory: %n-%v-source
GCC: 4.0
PatchFile: %n.patch
PatchFile-MD5: 8cc25ef1248f37664023e3e511cd10d5
PatchScript: <<
%{default_script}
perl -pi -e 's|(void.*return)\s0\.|$1|g' Solver/linearSystemPETSc.h
<<
UseMaxBuildJobs: false
CompileScript: <<
#!/bin/sh -ev
mkdir build
cd build
cmake -DCMAKE_PREFIX_PATH=%p -DCMAKE_INSTALL_PREFIX=%i d ..
make verbose=1
make verbose=1 html
make verbose=1 info
make verbose=1 txt
<<
InstallScript: <<
#!/bin/sh -ev
pushd build
make install
popd
# put texinfo file in proper location for Fink
mkdir -p %i/share/info
cp doc/texinfo/%n.info %i/share/info/
# clear out include directory since there's nothing to build
# against in this package
rm -rf %i/include
<<
DocFiles: doc/
InfoDocs: %n.info
Homepage: http://www.geuz.org/gmsh
Maintainer: Alexander Hansen
License: GPL/LGPL
Description: 3D finite element mesh generator
DescDetail: <<
Gmsh is an automatic 3D finite element mesh generator (primarily
Delaunay) with build-in CAD and post-processing facilities. Its
design goal is to provide a simple meshing tool for academic test
cases with parametric input and up to date visualization
capabilities.
Gmsh is built around four modules: geometry, mesh, solver and
post-processing. The specification of any input to these modules is
done either interactively using the graphical user interface or in
ASCII text files using Gmsh's own scripting language.
See Gmsh's reference manual for a more thorough overview of Gmsh's
capabilities.
<<
DescUsage: <<
This package contains the '%n' executable and documentation, including demos
and tutorial.
<<
DescPackaging: <<
Executable is built statically from the object files directly, rather than
via libraries, so there is no dependency on gmshX.Y.Z-shlibs.
Oddly enough, clang complains about a void function with a return
value :-) so we patch that.
As of 2.5.0-2: patch to install docs and executable in proper locations
using "make install". Thanks to Nicholas Taylor for the patch.
Uses Veclib for BLAS. It appears not to use Fink's ATLAS even when that's
installed, so no -atlas variant currently.
There appears to be something awry in gmsh-2.5.0-source/contrib/gmm/gmm_interface.h .
clang from Xcode 4.3 decided that there was an error, and by inspection there
appears indeed to be one. I implemented a patch which seemed to be correct in
context.
This file is currently still unchanged in upstream's SVN.
<<
diff -Nur gmsh-2.5.0-source/CMakeLists.txt gmsh-2.5.0-source.patched/CMakeLists.txt
--- gmsh-2.5.0-source/CMakeLists.txt 2010-10-15 14:35:00.000000000 +0100
+++ gmsh-2.5.0-source.patched/CMakeLists.txt 2011-09-29 17:04:06.000000000 +0100
@@ -955,9 +955,9 @@
# set these so that the files get installed nicely in the MacOSX
# .app bundle (FIXME: this screws up a standard "make install" on
# MacOS)
- set(GMSH_BIN ../MacOS)
- set(GMSH_DOC ../../..)
- set(GMSH_MAN ../../..)
+ set(GMSH_BIN bin)
+ set(GMSH_DOC share/doc/gmsh)
+ set(GMSH_MAN share/man/man1)
else(WIN32)
set(GMSH_BIN bin)
set(GMSH_DOC share/doc/gmsh)
@@ -1057,12 +1057,6 @@
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/Info.plist "${F1}")
set(CPACK_BUNDLE_PLIST ${CMAKE_CURRENT_BINARY_DIR}/Info.plist)
set(CPACK_BUNDLE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIcons.icns)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsGeo.icns DESTINATION .
- RENAME GmshGeo.icns)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsMsh.icns DESTINATION .
- RENAME GmshMsh.icns)
- install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIconsPos.icns DESTINATION .
- RENAME GmshPos.icns)
set(CPACK_PACKAGE_ICON ${CMAKE_CURRENT_SOURCE_DIR}/Fltk/MacIcons.icns)
elseif(WIN32)
set(CPACK_GENERATOR ZIP)
diff -Nurd gmsh-2.5.0-source/contrib/gmm/gmm_interface.h gmsh-2.5.0-source.patched/contrib/gmm/gmm_interface.h
--- gmsh-2.5.0-source/contrib/gmm/gmm_interface.h 2010-10-15 09:35:00.000000000 -0400
+++ gmsh-2.5.0-source.patched/contrib/gmm/gmm_interface.h 2012-02-20 13:03:11.000000000 -0500
@@ -831,8 +831,8 @@
}
void fill(T a, T b = T(0)) {
- std::fill(begin_, end+nbc*nbl, b);
- iterator p = begin_, e = end+nbc*nbl;
+ std::fill(begin_, begin_+nbc*nbl, b);
+ iterator p = begin_, e = begin_+nbc*nbl;
while (p < e) { *p = a; p += nbl+1; }
}
inline size_type nrows(void) const { return nbl; }
@@ -957,8 +957,8 @@
}
void fill(T a, T b = T(0)) {
- std::fill(begin_, end+nbc*nbl, b);
- iterator p = begin_, e = end+nbc*nbl;
+ std::fill(begin_, begin_+nbc*nbl, b);
+ iterator p = begin_, e = begin_+nbc*nbl;
while (p < e) { *p = a; p += nbc+1; }
}
inline size_type nrows(void) const { return nbl; }