%define svnrel 7038 Summary: VTP (Virtual Terrain Project) Name: vtp Version: 080910 Release: 0.1.%{svnrel}svn%{?dist} License: BSD Group: Applications/Multimedia URL: http://vterrain.org # The source for this package was pulled from upstream's vcs. Use the # following commands to generate the tarball: # SVN=7038 # svn co -r ${SVN} http://vtp.googlecode.com/svn/trunk/ vtp-${SVN} # rm -f vtp-${SVN}/TerrainSDK/vtui/HeightDlg.h vtp-${SVN}/TerrainSDK/vtui/HeightDlg.cpp # tar -cjf vtp-${SVN}.tar.bz2 vtp-${SVN}/* Source0: vtp-%{svnrel}.tar.bz2 Source1: http://vterrain.org/dist/vtp-srcdocs-%{version}.zip # The source for the following two packages was repackaged to provide an easier # to package data structure as well as remove files with copyright issues # Use the following commands to generate the cleaned data files # wget http://vterrain.org/dist/vtp-apps-data-061115.zip # unzip vtp-apps-data-061115.zip # rm -f VTP/TerrainApps/Data/Fonts/Arial.ttf # rm -rf VTP/TerrainApps/Data/Vehicles/mosp1 # cd VTP # tar -cjf ../vtp-apps-data-061115.tar.bz2 * Source2: vtp-apps-data-061115.tar.bz2 # wget http://vterrain.org/dist/Enviro-demo-0411.zip # unzip Enviro-demo-0411.zip # cd VTP # tar -cjf ../Enviro-demo-0411.tar.bz2 * Source3: Enviro-demo-0411.tar.bz2 Source4: vtp-autogen.sh Source5: vtp-configure.ac Source6: vtp-Makefile.am Source7: vtp-acinclude.m4 Source8: vtp.pc.in Source9: vtp-TerrainSDK-Makefile.am Source10: vtp-TerrainSDK-vtdata-Makefile.am Source11: vtp-TerrainSDK-vtdata-shapelib-Makefile.am Source12: vtp-TerrainSDK-vtlib-Makefile.am Source13: vtp-TerrainSDK-vtlib-core-Makefile.am Source14: vtp-TerrainSDK-vtlib-vtosg-Makefile.am Source15: vtp-TerrainSDK-vtui-Makefile.am Source16: vtp-TerrainSDK-xmlhelper-Makefile.am Source17: vtp-TerrainApps-Makefile.am Source18: vtp-TerrainApps-glutSimple-Makefile.am Source19: vtp-TerrainApps-VTBuilder-Makefile.am Source20: vtp-TerrainSDK-minidata-Makefile.am Source21: vtp-TerrainApps-Enviro-Makefile.am Source22: vtp-TerrainApps-VTConvert-Makefile.am Source23: Enviro.desktop Source24: VTBuilder.desktop Source25: VTglutSimple.desktop Source26: VTglutSimple.png Patch0: vtp-Contours.cpp.patch Patch1: vtp-Contours.h.patch Patch2: vtp-convhook.cpp.patch Patch3: vtp-ElevLayer.cpp.patch Patch4: vtp-glutsimple.cpp.patch Patch5: vtp-Helper.cpp.patch Patch6: vtp-MathOSG.h.patch Patch7: vtp-ProfileDlg.cpp.patch Patch8: vtp-Projections.h.patch Patch9: vtp-QuikGrid.h.patch Patch10: vtp-QuikGrid.cpp.patch Patch11: vtp-WFSClient.cpp.patch Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: automake, autoconf, libtool, dos2unix BuildRequires: ImageMagick BuildRequires: desktop-file-utils BuildRequires: OpenSceneGraph-devel > 2.0.0 BuildRequires: wxGTK-devel BuildRequires: netcdf-devel BuildRequires: gdal-devel BuildRequires: bzip2-devel BuildRequires: libjpeg-devel BuildRequires: libXt-devel BuildRequires: libXmu-devel BuildRequires: libMini-devel BuildRequires: minizip-devel BuildRequires: libquikgrid-devel BuildRequires: proj-devel Requires: vtp-Enviro = %{version}-%{release} Requires: vtp-VTBuilder = %{version}-%{release} Requires: vtp-glutSimple = %{version}-%{release} Requires: liberation-fonts Requires: proj-nad proj-epsg %description The VTP (Virtual Terrain Project) software consists of a collection of applications and libraries related to virtual terrain generation and display. The main libraries include vtdata and vtlib, while the primary applications are VTBuilder and Enviro. %package libs Summary: VTP (Virtual Terrain Project) libraries Group: System Environment/Libraries %description libs These are the VTP (Virtual Terrain Project) libraries. They consist of vtdata, vtlib, vtui and vtxmlhelper. The vtdata C++ library provides data types, 2D/2.5D operations, and file IO for geospatial data and coordinate reference systems. The vtlib C++ library provides the ability to procedurally construct and render interactive 3D terrain from geospatial data sources. Features include: * Continuous LOD for regular grid heightfields * Applying geospecific texture maps * Skydome with sun, moon, and stars * Vegetation using plant billboards * Procedurally-generated Roads * Procedurally-generated Buildings * Procedurally-generated Linear Structures (Fences, Wall, Hedges, Berms..) * Several kinds of 3D navigation * Detail texture (still experimental) * Importing 3D Models * Ray-Heightfield intersection testing * Structure shadowtextures (still experimental) The vtui C++ library provides a set of wxWindows widgets related to VTP applications. %package devel Summary: Development files for the VTP libraries Group: Development/Libraries Requires: vtp-libs = %{version}-%{release} Requires: pkgconfig Requires: OpenSceneGraph-devel >= 2.2.0 Requires: wxGTK-devel Requires: netcdf-devel Requires: gdal-devel Requires: bzip2-devel Requires: libjpeg-devel Requires: libXt-devel Requires: libXmu-devel Requires: libMini-devel Requires: minizip-devel Requires: libquikgrid-devel %description devel This package contains the libraries and header files needed for developing applications which use the VTP libraries. The vtdata C++ library provides data types, 2D/2.5D operations, and file IO for geospatial data and coordin%patch6 -p0 ate reference systems. The vtlib C++ library provides the ability to procedurally construct and render interactive 3D terrain from geospatial data sources. Features include: * Continuous LOD for regular grid heightfields * Applying geospecific texture maps * Skydome with sun, moon, and stars * Vegetation using plant billboards * Procedurally-generated Roads * Procedurally-generated Buildings * Procedurally-generated Linear Structures (Fences, Wall, Hedges, Berms..) * Several kinds of 3D navigation * Detail texture (still experimental) * Importing 3D Models * Ray-Heightfield intersection testing * Structure shadowtextures (still experimental) The vtui C++ library provides a set of wxWindows widgets related to VTP applications. %package data Summary: Data files related to VTP applications and libraries Group: Applications/Multimedia %description data Data files related to VTP applications and libraries. %package Enviro Summary: Interactive, realtime 3-D navigation of terrain Group: Applications/Multimedia Requires: vtp-libs = %{version}-%{release} %description Enviro Enviro is the VTP runtime environment. It provides an interactive, realtime 3D navigation of your virtual terrain. There are two primary view modes: Earth and Terrain. At startup, you chose which view you want to start with, and you can switch at any time. Earth View * viewing the planet from space * navigate and zoom * displays the extents of each known terrain area, click to enter * more features: toggle sunlight, display point data, trace shortest-path geodesic arcs Terrain View * loads all the elements of the scene: elevation data, ground textures, roads, buildings, vegetation, vehicles, etc. composed by the VTP toolbox applications * lets you walk or fly around * interaction currently includes: o browsing the scene graph o changing the camera and rendering settings o changing the terrain detail level o adding and trees o adding fences o moving and editing buildings o save changes to vegetation and structures * Enviro's Mouse Navigation is easy to learn %package VTBuilder Summary: A tool for viewing and processing many kinds of geospatial data Group: Applications/Multimedia Requires: vtp-libs = %{version}-%{release} %description VTBuilder VTBuilder is a tool for viewing and processing many kinds of geospatial data * Elevation Data * merges and resamples multiple elevation files * import elevation grids from DEM, SDTS DEM, MicroDEM, GTOPO30, SRTM, DTED, CDF/netCDF, PNG, TIF, GeoTIFF, PGM, Surfer GRD, TerraGen, raw data, ArcInfo ASCII/Binary, SRTM HGT, and many other formats * export elevation grids to ArcInfo ASCII Grid, GeoTIFF, TerraGen, BMP, STM, MSI Planet, VRML ElevationGrid, RAW/INF for MSFS, ChunkLOD (.chu), PNG 16-bit, 3TX. * reads and writes Binary Terrain (BT) * import TIN data from DXF * lets you view and define an area for merging and resampling BT format, which can be used by the VTP Terrain Library and Enviro runtime * supports undersea data, and conversion of data between coordinate systems, such as merging of DEM files across a UTM boundary * Road Data * reads road centerline vectors from USGS DLG, ESRI SHP, NTF and other GIS formats * does cleanup processing on the road network topology * allows the user to define intersection behavior and road attributes including number of lanes and direction of traffic flow * writes to RMF which can be used by the vtlib Library and Enviro runtime * Building Data * reads and writes VTST files * select, move and delete buildings * edit building attributes (shape, number of stories, color, etc.) * Vegetation Data * imports land-use and vegetation-coverage data from USGS LULC and ESRI SHP files * imports species lists and vegetation zones (biotypes) from text/XML files * exploits all of the above to do automated placement of vegetation and export to VF files * Multi-layer Formats * imports multiple layer types from compound file formats - TIGER (roads, hydrography) and NTF (roads, built structures) * Image Data * you can import several image formats for viewing in conjunction with other layers %package glutSimple Summary: A simple GLUT based terrain viewer Group: Applications/Multimedia Requires: vtp-libs = %{version}-%{release} Requires: vtp-data = %{version}-%{release} %description glutSimple glutSimple is a simple GLUT based terrain viewer based on the VTP libraries. %package VTConvert Summary: Command-line tool to convert elevation formats to a BT file Group: Applications/Multimedia Requires: vtp-libs = %{version}-%{release} %description VTConvert Command-line tool to convert from any VTP-supported elevation format to a BT file %prep %setup -q -a 1 -a 2 -a 3 -n vtp-%{svnrel} %{__cp} %{SOURCE4} autogen.sh %{__cp} %{SOURCE5} configure.ac %{__cp} %{SOURCE6} Makefile.am %{__cp} %{SOURCE7} acinclude.m4 %{__cp} %{SOURCE8} vtp.pc.in %{__cp} %{SOURCE9} TerrainSDK/Makefile.am %{__cp} %{SOURCE10} TerrainSDK/vtdata/Makefile.am %{__cp} %{SOURCE11} TerrainSDK/vtdata/shapelib/Makefile.am %{__cp} %{SOURCE12} TerrainSDK/vtlib/Makefile.am %{__cp} %{SOURCE13} TerrainSDK/vtlib/core/Makefile.am %{__cp} %{SOURCE14} TerrainSDK/vtlib/vtosg/Makefile.am %{__cp} %{SOURCE15} TerrainSDK/vtui/Makefile.am %{__cp} %{SOURCE16} TerrainSDK/xmlhelper/Makefile.am %{__cp} %{SOURCE17} TerrainApps/Makefile.am %{__cp} %{SOURCE18} TerrainApps/glutSimple/Makefile.am %{__cp} %{SOURCE19} TerrainApps/VTBuilder/Makefile.am %{__cp} %{SOURCE20} TerrainSDK/minidata/Makefile.am %{__cp} %{SOURCE21} TerrainApps/Enviro/Makefile.am %{__cp} %{SOURCE22} TerrainApps/VTConvert/Makefile.am %patch0 -p0 %patch1 -p0 %patch2 -p0 %patch3 -p0 %patch4 -p0 %patch5 -p0 %patch6 -p0 %patch7 -p0 %patch8 -p0 %patch9 -p0 %patch10 -p0 %patch11 -p0 # convert permissions for debuginfo find . -type d -exec chmod 0755 {} ';' find . -type f -exec chmod 0644 {} ';' %build sh autogen.sh %configure --disable-static %{__make} %{?_smp_mflags} %install %{__rm} -rf %{buildroot} %{__make} DESTDIR=%{buildroot} INSTALL="%{__install} -p" install find %{buildroot} -type f -name "*.la" -exec rm -f {} ';' # create icons # create 16x16, 32x32, 64x64, 128x128 icons for s in 16 32 64 128 ; do %{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/ convert -scale ${s}x${s} \ TerrainApps/Enviro/wx/icons/Enviro_32x32.xpm \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/Enviro.png convert -scale ${s}x${s} \ TerrainApps/VTBuilder/icons/VTBuilder.xpm \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/VTBuilder.png convert -scale ${s}x${s} \ %{SOURCE26} \ $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/${s}x${s}/apps/VTglutSimple.png done # Desktop entry desktop-file-install --vendor fedora \ --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \ %{SOURCE23} desktop-file-install --vendor fedora \ --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \ %{SOURCE24} desktop-file-install --vendor fedora \ --dir ${RPM_BUILD_ROOT}%{_datadir}/applications \ %{SOURCE25} %{__mkdir_p} ${RPM_BUILD_ROOT}%{_datadir}/vtp %{__cp} -ar TerrainApps/Data/* ${RPM_BUILD_ROOT}%{_datadir}/vtp #for font in \ # LiberationMono-Bold.ttf LiberationMono-BoldItalic.ttf LiberationMono-Italic.ttf LiberationMono-Regular.ttf \ # LiberationSans-Bold.ttf LiberationSans-BoldItalic.ttf LiberationSans-Italic.ttf LiberationSans-Regular.ttf \ # LiberationSerif-Bold.ttf LiberationSerif-BoldItalic.ttf LiberationSerif-Italic.ttf LiberationSerif-Regular.ttf #do # ln -s /usr/share/fonts/liberation/${font} ${RPM_BUILD_ROOT}%{_datadir}/vtp/Fonts/${font} #done %clean %{__rm} -rf %{buildroot} %post libs -p /sbin/ldconfig %post Enviro touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %post VTBuilder touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %post glutSimple touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %postun libs -p /sbin/ldconfig %postun Enviro touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %postun VTBuilder touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %postun glutSimple touch --no-create %{_datadir}/icons/hicolor || : %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : %files libs %defattr(-,root,root,-) %{_libdir}/lib*.so.* %files devel %defattr(-,root,root,-) %doc VTP/TerrainSDK/Doc/vtdata %doc VTP/TerrainSDK/Doc/vtlib %{_includedir}/vtp %{_libdir}/lib*.so %{_libdir}/pkgconfig/vtp.pc %files data %defattr(-,root,root,-) %{_datadir}/vtp %files Enviro %defattr(-,root,root,-) %{_bindir}/Enviro %{_datadir}/applications/fedora-Enviro.desktop %{_datadir}/icons/hicolor/*x*/apps/Enviro.png %files VTBuilder %defattr(-,root,root,-) %{_bindir}/VTBuilder %{_datadir}/applications/fedora-VTBuilder.desktop %{_datadir}/icons/hicolor/*x*/apps/VTBuilder.png %files glutSimple %defattr(-,root,root,-) %doc TerrainApps/glutSimple/README.txt %{_bindir}/VTglutSimple %{_datadir}/vtp/Simple.xml %{_datadir}/applications/fedora-VTglutSimple.desktop %{_datadir}/icons/hicolor/*x*/apps/VTglutSimple.png %files VTConvert %defattr(-,root,root,-) %{_bindir}/VTConvert %changelog * Mon Jul 09 2007 Rick L Vinyard Jr - 080506-1 - New upstream release - Changed patch set for new release to reflect patches incorporated upstream - Change OSG BR version to 2.0 or greater * Mon Jul 09 2007 Rick L Vinyard Jr - 070331-3 - Added Enviro-demo source - Added removal of copyright data files with issues - Added installation of data files that are properly licensed * Mon Jul 02 2007 Rick L Vinyard Jr - 070331-2 - Added dist tag - Added pkgconfig requires to devel - Changed enable-static=no to disable-static in configure - Added devel requires for all dependent libraries * Sat Jun 30 2007 Rick L Vinyard Jr - 070331-1 - Initial version