gmsh : added fltk support
This commit is contained in:
		
							
								
								
									
										44
									
								
								var/spack/packages/fltk/font.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								var/spack/packages/fltk/font.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| Index: FL/x.H | ||||
| =================================================================== | ||||
| --- a/FL/x.H	(revision 10476) | ||||
| +++ b/FL/x.H	(working copy) | ||||
| @@ -132,6 +132,7 @@ | ||||
|    XFontStruct *ptr; | ||||
|  }; | ||||
|  extern FL_EXPORT Fl_XFont_On_Demand fl_xfont; | ||||
| +extern FL_EXPORT XFontStruct* fl_core_font(); | ||||
|  | ||||
|  // this object contains all X-specific stuff about a window: | ||||
|  // Warning: this object is highly subject to change! | ||||
| Index: src/fl_font.cxx | ||||
| =================================================================== | ||||
| --- a/src/fl_font.cxx	(revision 10476) | ||||
| +++ b/src/fl_font.cxx	(working copy) | ||||
| @@ -55,6 +55,14 @@ | ||||
|  #  include "fl_font_x.cxx" | ||||
|  #endif // WIN32 | ||||
|  | ||||
| +#ifdef WIN32 | ||||
| +#elif defined(__APPLE__) | ||||
| +#else | ||||
| +XFontStruct *fl_core_font() | ||||
| +{ | ||||
| +  return fl_xfont.value(); | ||||
| +} | ||||
| +#endif | ||||
|  | ||||
|  double fl_width(const char* c) { | ||||
|    if (c) return fl_width(c, (int) strlen(c)); | ||||
| Index: src/gl_draw.cxx | ||||
| =================================================================== | ||||
| --- a/src/gl_draw.cxx	(revision 10476) | ||||
| +++ b/src/gl_draw.cxx	(working copy) | ||||
| @@ -84,7 +84,7 @@ | ||||
|   * then sorting through them at draw time (for normal X rendering) to find which one can | ||||
|   * render the current glyph... But for now, just use the first font in the list for GL... | ||||
|   */ | ||||
| -    XFontStruct *font = fl_xfont; | ||||
| +    XFontStruct *font = fl_core_font(); | ||||
|      int base = font->min_char_or_byte2; | ||||
|      int count = font->max_char_or_byte2-base+1; | ||||
|      fl_fontsize->listbase = glGenLists(256); | ||||
							
								
								
									
										58
									
								
								var/spack/packages/fltk/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								var/spack/packages/fltk/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,58 @@ | ||||
| ############################################################################## | ||||
| # Copyright (c) 2013-2015, Lawrence Livermore National Security, LLC. | ||||
| # Produced at the Lawrence Livermore National Laboratory. | ||||
| # | ||||
| # This file is part of Spack. | ||||
| # Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved. | ||||
| # LLNL-CODE-647188 | ||||
| # | ||||
| # For details, see https://github.com/llnl/spack | ||||
| # Please also see the LICENSE file for our notice and the LGPL. | ||||
| # | ||||
| # This program is free software; you can redistribute it and/or modify | ||||
| # it under the terms of the GNU General Public License (as published by | ||||
| # the Free Software Foundation) version 2.1 dated February 1999. | ||||
| # | ||||
| # This program is distributed in the hope that it will be useful, but | ||||
| # WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF | ||||
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and | ||||
| # conditions of the GNU General Public License for more details. | ||||
| # | ||||
| # You should have received a copy of the GNU Lesser General Public License | ||||
| # along with this program; if not, write to the Free Software Foundation, | ||||
| # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||||
| ############################################################################## | ||||
| from spack import * | ||||
|  | ||||
|  | ||||
| class Fltk(Package): | ||||
|     """ | ||||
|     FLTK (pronounced "fulltick") is a cross-platform C++ GUI toolkit for UNIX/Linux (X11), Microsoft Windows, and | ||||
|     MacOS X. FLTK provides modern GUI functionality without the bloat and supports 3D graphics via OpenGL and its | ||||
|     built-in GLUT emulation. | ||||
|  | ||||
|     FLTK is designed to be small and modular enough to be statically linked, but works fine as a shared library. FLTK | ||||
|     also includes an excellent UI builder called FLUID that can be used to create applications in minutes. | ||||
|     """ | ||||
|     homepage = 'http://www.fltk.org/' | ||||
|     url = 'http://fltk.org/pub/fltk/1.3.3/fltk-1.3.3-source.tar.gz' | ||||
|  | ||||
|     version('1.3.3', '9ccdb0d19dc104b87179bd9fd10822e3') | ||||
|  | ||||
|     patch('font.patch', when='@1.3.3') | ||||
|  | ||||
|     variant('shared', default=True, description='Enables the build of shared libraries') | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         options = ['--prefix=%s' % prefix, | ||||
|                    '--enable-localjpeg', | ||||
|                    '--enable-localpng', | ||||
|                    '--enable-localzlib'] | ||||
|  | ||||
|         if '+shared' in spec: | ||||
|             options.append('--enable-shared') | ||||
|  | ||||
|         # FLTK needs to be built in-source | ||||
|         configure(*options) | ||||
|         make() | ||||
|         make('install') | ||||
| @@ -27,7 +27,7 @@ | ||||
|  | ||||
| class Gmsh(Package): | ||||
|     """ | ||||
|     Gmsh is a free 3D finite element grid generator with a build-in CAD engine and post-processor. Its design goal is | ||||
|     Gmsh is a free 3D finite element grid generator with a built-in CAD engine and post-processor. Its design goal is | ||||
|     to provide a fast, light and user-friendly meshing tool with parametric input and advanced 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 | ||||
| @@ -38,17 +38,19 @@ class Gmsh(Package): | ||||
|  | ||||
|     version('2.11.0', 'f15b6e7ac9ca649c9a74440e1259d0db') | ||||
|  | ||||
|     # FIXME : Misses dependencies on gmm, FLTK, PetsC, TetGen, HDF5 | ||||
|     # FIXME : Misses dependencies on gmm, PetsC, TetGen, HDF5 | ||||
|  | ||||
|     variant('shared', default=True, description='Enables the build of shared libraries') | ||||
|     variant('debug', default=False, description='Builds the library in debug mode') | ||||
|     variant('mpi', default=False, description='Builds MPI support for parser and solver') | ||||
|     variant('fltk', default=False, description='Enables the build of the FLTK GUI') | ||||
|     variant('compression', default=True, description='Enables IO compression through zlib') | ||||
|  | ||||
|     depends_on('blas') | ||||
|     depends_on('lapack') | ||||
|     depends_on('gmp') | ||||
|     depends_on('mpi', when='+mpi') | ||||
|     depends_on('fltk', when='+fltk')  # Assumes OpenGL with GLU is already provided by the system | ||||
|     depends_on('zlib', when='+compression') | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 alalazo
					alalazo