%define cvs_y 2004 %define cvs_m 05 %define cvs_d 05 %define cvsver exp_%{cvs_y}_%{cvs_m}_%{cvs_d} %define ver 5.4.0 %define drel 1 %define subrel 1 %{?!mdkversion: %define mdkversion %(perl -pe '/(\d+)\.(\d)\.?(\d)?/; $_="$1$2".($3||0)' /etc/mandrake-release)} %define rel %(case `hostname` in (n?.mandrakesoft.com) echo %drel;;(*) echo $[%drel-1].%subrel.$[%mdkversion/10];;esac)mdk %{?_with_stable_on_cluster: %define rel %(echo $[%{drel}-1].%subrel.$[%{mdkversion}/10]mdk)} %{?_with_official: %define rel %drel} %define release %{?_with_cvs:0.cvs%{cvs_y}%{cvs_m}%{cvs_d}.%rel}%{!?_with_cvs:%rel} %define grassfix 54 %define name grass%{?grassfix:%grassfix} %define build_small 1 %{?_with_cvs: %define build_cvs 1} Summary: Geographic Resources Analysis Support System Name: %name Version: %ver Release: %release Group: Sciences/Geosciences License: GPL URL: http://grass.itc.it/ Obsoletes: grass53 < 5.4.0 Provides: grass53 = %{version} %if %{?_with_cvs:1}%{!?_with_cvs:0} Source: http://grass.itc.it/grass50/source/snapshot/grass50src_cvs_snapshot_%{cvsver}.tar.bz2 %else Source: http://grass.itc.it/grass%{grassfix}/source/grass-%{version}.tar.bz2 %endif Source2: grass5_48.png.bz2 Source3: grass5_32.png.bz2 Source4: grass5_16.png.bz2 Patch0: grass5_pre5_makefile_destdir.patch.bz2 Patch2: grass51-20030614-blas-lapack-libs.patch.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: xterm BuildRequires: libpng-devel BuildRequires: libjpeg-devel BuildRequires: libtiff-devel BuildRequires: libgd2-devel BuildRequires: freetype2-devel BuildRequires: libMesaGLU-devel libunixODBC-devel fftw-devel BuildRequires: lesstif-devel BuildRequires: tk BuildRequires: libncurses-devel BuildRequires: zlib-devel #BuildRequires: gdbm-devel BuildRequires: readline-devel BuildRequires: gcc-g77 #BuildRequires: liblapack-devel BuildRequires: gdal-devel >= 1.2.0 #BuildRequires: libblas-devel BuildRequires: flex BuildRequires: bison BuildRequires: postgresql-devel BuildRequires: libproj-devel proj >= 4.4.7 %description GRASS (Geographic Resources Analysis Support System) is a raster-based GIS, vector GIS, image processing system, graphics production system, data management system, and spatial modeling system. A graphical user interface for X-Windows is provided. %prep %setup -q %{?_with_cvs:-n %{name}_%{cvsver}}%{!?_with_cvs:-n grass-%version} #%patch0 -p1 #%patch2 autoconf %build %if %build_small mkdir grass-build cd grass-build CONFIGURE_TOP="../" %endif %configure \ --with-dbm-includes=%{_includedir}/gdbm/ \ --with-postgres-includes='%{_includedir}/pgsql %{_includedir}/pgsql/internal' \ --with-freetype \ --with-freetype-includes=%{_includedir}/freetype2/ \ --with-motif \ --with-motif-includes=%{_prefix}/X11R6/include \ --with-glw \ --with-gdal \ --with-cxx \ --enable-shared #Options from 5.0.x that don't work in 51: # --with-nls \ # --with-readline \ #Options that aren't really used # --with-blas \ # --with-lapack \ # --with-dbm \ #Fix messy grass readline misdetection: perl -pi -e "s/^READLINELIB .*\$/READLINELIB = -lreadline -ltermcap/g" include/Make/Platform.make perl -pi -e "s/^HISTORYLIB.*\$/HISTORYLIB = -lhistory/g" include/Make/Platform.make perl -pi -e 's,/\* #undef HAVE_READLINE_READLINE_H \*/,#define HAVE_READLINE_READLINE_H 1,g' include/config.h %if %{?_with_cvs:1}%{!?_with_cvs:0} make mix %endif #r.mapcalc not building first time around: make||make %install %if %build_small cd grass-build %endif [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" mkdir -p $RPM_BUILD_ROOT/%{_bindir} mkdir -p $RPM_BUILD_ROOT/%{_menudir} #%makeinstall_std INST_DIR=%{_libdir}/grass%{grassfix} # Actions in make install that don't take into account packaging in a place different to running: sed -e 's|^GISBASE.*|GISBASE=%{_prefix}/lib/grass%{grassfix}|' \ bin.%{_target_platform}/grass%{grassfix} > $RPM_BUILD_ROOT/%{_bindir}/grass%{grassfix} chmod a+x $RPM_BUILD_ROOT/usr/bin/grass%{grassfix} #cp $RPM_BUILD_PATH/bin.i586-mandrake-linux-gnu/gmake5 $RPM_BUILD_ROOT/usr/bin #cp $RPM_BUILD_PATH/bin.i586-mandrake-linux-gnu/gmakelinks5 $RPM_BUILD_ROOT/usr/bin mkdir -p %{buildroot}/%{_libdir}/grass%{grassfix} cp -a dist.%{_target_platform}/* %{buildroot}/%{_libdir}/grass%{grassfix} # Add makefiles to includes: #cp -a include/Make %{buildroot}/%{_libdir}/grass%{grassfix}/include/ # Manually bzip2 the man pages: bzip2 $RPM_BUILD_ROOT/%{_libdir}/grass%{grassfix}/man/man?/* #Get rid of lock dir for hostname: rmdir $RPM_BUILD_ROOT/%{_libdir}/grass%{grassfix}/locks/`hostname` #mkdir -p $RPM_BUILD_ROOT/%{_libdir}/grass%{grassfix}/locks/ #fix perms chmod g-w -R %{buildroot}/%{_libdir}/grass%{grassfix} #Menu support: cat << EOF > $RPM_BUILD_ROOT/%{_menudir}/%{name} ?package(%{name}):command="%{_bindir}/grass%{grassfix}" \ icon="%{name}.png" \ needs="text" \ section="Applications/Sciences/Geosciences" \ title="Grass%{grassfix}" \ longtitle="Geographic Resources Analysis Support System" EOF mkdir -p $RPM_BUILD_ROOT%{_liconsdir} $RPM_BUILD_ROOT%{_iconsdir} $RPM_BUILD_ROOT%{_miconsdir} bzcat %{SOURCE2} > $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png bzcat %{SOURCE3} > $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png bzcat %{SOURCE4} > $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" %post %update_menus %postun %clean_menus %files %defattr(-,root,root) %attr(0755,root,root) %{_bindir}/* %{_libdir}/grass%{grassfix}/ #%lang(ru) %{_libdir}/grass5/locale/ru/LC_MESSAGES/ %{_menudir}/%{name} %{_miconsdir}/*.png %{_liconsdir}/*.png %{_iconsdir}/*.png %attr(1777,root,root) %{_libdir}/grass%{grassfix}/locks %doc AUTHORS COPYING INSTALL README ChangeLog #%doc REQUIREMENTS.html SUBMITTING TODO.txt %changelog * Fri Nov 19 2004 Buchan Milne <bgmilne@linux-mandrake.com> 5.4.0-1mdk - 5.4.0 - obsoletes/provides grass53 - drop p3 (merged) - distribution-specific release tag * Sun Jun 20 2004 Buchan Milne <bgmilne@linux-mandrake.com> 5.3.0-1mdk - first source release of 5.3 * Sun Jun 15 2003 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.2-2mdk - Buildrequire postgresql-devel (thanks to slbd) * Fri Apr 11 2003 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.2-1mdk - 5.0.2 - Rebuild for tcl8.4 - Misc fixes (incl xpm->png) - try and fix misdetection of readline - Hack for tcl 8.4/nviz, may be broken, will find out on Sunday ... - Buildrequires flex and bison (the value of a clean install ;-)) * Sat Feb 22 2003 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.0-3mdk - Require xterm * Fri Feb 21 2003 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.0-2mdk - Buildrequire libblas-devel - Rebuild for postgres * Wed Sep 04 2002 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.0-1mdk - 5.0.0 - buildrequire libgd2-devel (24bit PNG driver) * Sun Aug 18 2002 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.0-0.pre5.3mdk - Add back gdal, lapack and blas support (aka I build too seldom on klama!). * Fri Aug 16 2002 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.0-0.pre5.2mdk - build with dbmi, glw and readline support - require gcc-g77 for lapack and blas - gdal,lapack,blas support optional (klama frozen :-(). * Mon Aug 05 2002 Buchan Milne <bgmilne@linux-mandrake.com> 5.0.0-0.pre5.1mdk - Rebuild - Buildrequires gdbm, lapack * Tue Jun 25 2002 Buchan Milne <bgmilne@cae.co.za> 5.0.0-0.pre5.0mdk - pre5 * Tue May 14 2002 Buchan Milne <bgmilne@cae.co.za> 5.0.0-0.pre4.0mdk - New prerelase - PostgreSQL,lapack,gdal support - Next stop, subpackages * Mon Apr 14 2002 Buchan Milne <bgmilne@cae.co.za> 5.0.0-0.pre3.0mdk - First stab at a Mandrake RPM - No postgres support (doesn't build against 7.2 but does against 7.1) - Probably need subpackages for nvis, tcltkgrass, odbc, postgres etc