| 1 |
%define gmthome %{_datadir}/GMT
|
| 2 |
%define gmtconf %{_sysconfdir}/GMT
|
| 3 |
%define gmtdoc %{_docdir}/gmt
|
| 4 |
|
| 5 |
%{!?octave_api: %define octave_api %(octave-config -p API_VERSION 2>/dev/null || echo 0)}
|
| 6 |
%define octave_mdir %(octave-config -p LOCALAPIFCNFILEDIR || echo)
|
| 7 |
%define octave_octdir %(octave-config -p LOCALAPIOCTFILEDIR || echo)
|
| 8 |
|
| 9 |
Name: GMT
|
| 10 |
Version: 4.5.1
|
| 11 |
Release: 1%{?dist}
|
| 12 |
Summary: Generic Mapping Tools
|
| 13 |
|
| 14 |
Group: Applications/Engineering
|
| 15 |
License: GPLv2
|
| 16 |
URL: http://gmt.soest.hawaii.edu/
|
| 17 |
Source0: ftp://ftp.soest.hawaii.edu/gmt/GMT%{version}_src.tar.bz2
|
| 18 |
Source1: ftp://ftp.soest.hawaii.edu/gmt/GMT%{version}_share.tar.bz2
|
| 19 |
Source2: ftp://ftp.soest.hawaii.edu/gmt/GMT%{version}_suppl.tar.bz2
|
| 20 |
Source3: ftp://ftp.soest.hawaii.edu/gmt/GMT%{version}_doc.tar.bz2
|
| 21 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
| 22 |
|
| 23 |
BuildRequires: gdal-devel
|
| 24 |
BuildRequires: libXt-devel libXaw-devel libXmu-devel libXext-devel
|
| 25 |
BuildRequires: netcdf-devel
|
| 26 |
BuildRequires: GMT-coastlines
|
| 27 |
BuildRequires: octave-devel
|
| 28 |
# less is detected by configure, and substituted in GMT.in
|
| 29 |
BuildRequires: less
|
| 30 |
Requires: less
|
| 31 |
Requires: %{name}-common = %{version}-%{release}
|
| 32 |
Requires: GMT-coastlines
|
| 33 |
Provides: gmt = %{version}-%{release}
|
| 34 |
|
| 35 |
%description
|
| 36 |
GMT is an open source collection of ~60 tools for manipulating geographic and
|
| 37 |
Cartesian data sets (including filtering, trend fitting, gridding, projecting,
|
| 38 |
etc.) and producing Encapsulated PostScript File (EPS) illustrations ranging
|
| 39 |
from simple x-y plots via contour maps to artificially illuminated surfaces
|
| 40 |
and 3-D perspective views. GMT supports ~30 map projections and transforma-
|
| 41 |
tions and comes with support data such as coastlines, rivers, and political
|
| 42 |
boundaries.
|
| 43 |
|
| 44 |
GMT is developed and maintained by Paul Wessel and Walter H. F. Smith with
|
| 45 |
help from a global set of volunteers, and is supported by the National
|
| 46 |
Science Foundation.
|
| 47 |
|
| 48 |
|
| 49 |
%package common
|
| 50 |
Summary: Common files for %{name}
|
| 51 |
Group: Applications/Engineering
|
| 52 |
Requires: %{name} = %{version}-%{release}
|
| 53 |
Provides: gmt-common = %{version}-%{release}
|
| 54 |
BuildArch: noarch
|
| 55 |
|
| 56 |
%description common
|
| 57 |
The %{name}-common package contains common files for GMT (Generic
|
| 58 |
Mapping Tools) package.
|
| 59 |
|
| 60 |
|
| 61 |
%package devel
|
| 62 |
Summary: Development files for %{name}
|
| 63 |
Group: Development/Libraries
|
| 64 |
Requires: %{name} = %{version}-%{release}
|
| 65 |
Provides: gmt-devel = %{version}-%{release}
|
| 66 |
|
| 67 |
%description devel
|
| 68 |
The %{name}-devel package contains libraries and header files for
|
| 69 |
developing applications that use %{name}.
|
| 70 |
|
| 71 |
|
| 72 |
%package doc
|
| 73 |
Summary: Documentation for %{name}
|
| 74 |
Group: Documentation
|
| 75 |
Requires: %{name} = %{version}-%{release}
|
| 76 |
Provides: gmt-doc = %{version}-%{release}
|
| 77 |
Provides: %{name}-examples = %{version}-%{release}
|
| 78 |
Obsoletes: %{name}-examples < %{version}-%{release}
|
| 79 |
BuildArch: noarch
|
| 80 |
|
| 81 |
%description doc
|
| 82 |
The %{name}-doc package provides the documentation for the GMT (Generic
|
| 83 |
Mapping Tools) package.
|
| 84 |
|
| 85 |
|
| 86 |
%package static
|
| 87 |
Summary: Static libraries for %{name}
|
| 88 |
Group: Development/Libraries
|
| 89 |
Requires: %{name}-devel = %{version}-%{release}
|
| 90 |
Provides: gmt-static = %{version}-%{release}
|
| 91 |
|
| 92 |
%description static
|
| 93 |
The %{name}-static package contains static libraries for developing
|
| 94 |
applications that use %{name}.
|
| 95 |
|
| 96 |
|
| 97 |
%package octave
|
| 98 |
Summary: Octave libraries for %{name}
|
| 99 |
Group: Development/Libraries
|
| 100 |
Requires: %{name} = %{version}-%{release}
|
| 101 |
Requires: octave(api) = %{octave_api}
|
| 102 |
Provides: gmt-octave = %{version}-%{release}
|
| 103 |
|
| 104 |
%description octave
|
| 105 |
The %{name}-octave package contains and Octave interface for developing
|
| 106 |
applications that use %{name}.
|
| 107 |
|
| 108 |
|
| 109 |
# X11 application in a subpackage. No .desktop file since it
|
| 110 |
# requires a file name as argument
|
| 111 |
%package -n xgridedit
|
| 112 |
Summary: GMT grid code graphical editor
|
| 113 |
Group: Applications/Engineering
|
| 114 |
|
| 115 |
%description -n xgridedit
|
| 116 |
XGridEdit is an application for viewing and editing the numerical values in
|
| 117 |
GMT 2 dimensional grids.
|
| 118 |
|
| 119 |
|
| 120 |
%prep
|
| 121 |
%setup -q -b1 -b2 -b3 -n GMT%{version}
|
| 122 |
#We don't care about .bat files
|
| 123 |
find -name \*.bat | xargs rm
|
| 124 |
#Fix permissions
|
| 125 |
find -name \*.c | xargs chmod a-x
|
| 126 |
|
| 127 |
%build
|
| 128 |
#So we execute do_examples.sh instead of do_examples.csh
|
| 129 |
export CSH=sh
|
| 130 |
export CFLAGS="$RPM_OPT_FLAGS -fPIC -I%{_includedir}/netcdf"
|
| 131 |
%configure --datadir=%{gmthome} \
|
| 132 |
--enable-debug \
|
| 133 |
--enable-gdal GDAL_INC=%{_includedir}/gdal \
|
| 134 |
--enable-shared \
|
| 135 |
--enable-octave --enable-mex-mdir=%{octave_mdir} \
|
| 136 |
--enable-mex-xdir=%{octave_octdir} \
|
| 137 |
--disable-rpath
|
| 138 |
make
|
| 139 |
make suppl
|
| 140 |
|
| 141 |
|
| 142 |
%install
|
| 143 |
rm -rf $RPM_BUILD_ROOT
|
| 144 |
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -c -p' install-all
|
| 145 |
#Setup configuration files
|
| 146 |
mkdir -p $RPM_BUILD_ROOT%{gmtconf}/{mgg,dbase,mgd77,conf}
|
| 147 |
pushd $RPM_BUILD_ROOT%{gmthome}/
|
| 148 |
# put conf files in %{gmtconf} and do links in %{gmthome}
|
| 149 |
for file in conf/*.conf conf/gmtdefaults_* mgg/gmtfile_paths dbase/grdraster.info \
|
| 150 |
mgd77/mgd77_paths.txt; do
|
| 151 |
mv $file $RPM_BUILD_ROOT%{gmtconf}/$file
|
| 152 |
ln -s ../../../../../%{gmtconf}/$file $RPM_BUILD_ROOT%{gmthome}/$file
|
| 153 |
done
|
| 154 |
popd
|
| 155 |
|
| 156 |
#Don't bring in csh for the csh examples
|
| 157 |
find $RPM_BUILD_ROOT/%{gmtdoc}/examples -name \*.csh |
|
| 158 |
xargs chmod a-x
|
| 159 |
|
| 160 |
# separate the README files that are associated with gmt main package
|
| 161 |
rm -rf __package_docs
|
| 162 |
mkdir __package_docs
|
| 163 |
cp -p src/*/README.* __package_docs
|
| 164 |
rm __package_docs/README.xgrid __package_docs/README.mex
|
| 165 |
|
| 166 |
|
| 167 |
%check
|
| 168 |
#Cleanup from previous runs
|
| 169 |
rm -f $RPM_BUILD_DIR/GMT%{version}/share/coast
|
| 170 |
|
| 171 |
#Setup environment for the tests
|
| 172 |
export GMT_SHAREDIR=$RPM_BUILD_DIR/GMT%{version}/share
|
| 173 |
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT/%{_libdir}
|
| 174 |
|
| 175 |
#Link in the coastline data
|
| 176 |
ln -s %{gmthome}/coast $RPM_BUILD_DIR/GMT%{version}/share
|
| 177 |
|
| 178 |
#Run the examples - not that this doesn't return errors if any fail, check logs!
|
| 179 |
make run-examples
|
| 180 |
|
| 181 |
|
| 182 |
%clean
|
| 183 |
rm -rf $RPM_BUILD_ROOT
|
| 184 |
|
| 185 |
|
| 186 |
%post -p /sbin/ldconfig
|
| 187 |
|
| 188 |
%postun -p /sbin/ldconfig
|
| 189 |
|
| 190 |
|
| 191 |
%files
|
| 192 |
%defattr(-,root,root,-)
|
| 193 |
%doc README LICENSE.TXT ChangeLog
|
| 194 |
%{_bindir}/*
|
| 195 |
%exclude %{_bindir}/xgridedit
|
| 196 |
%{_libdir}/*.so.*
|
| 197 |
|
| 198 |
%files common
|
| 199 |
%defattr(-,root,root,-)
|
| 200 |
%doc README __package_docs/* LICENSE.TXT ChangeLog gmt_bench-marks
|
| 201 |
%dir %{gmtconf}
|
| 202 |
%dir %{gmtconf}/mgg
|
| 203 |
%dir %{gmtconf}/dbase
|
| 204 |
%dir %{gmtconf}/mgd77
|
| 205 |
%dir %{gmtconf}/conf
|
| 206 |
%config(noreplace) %{gmtconf}/conf/*
|
| 207 |
%config(noreplace) %{gmtconf}/mgg/gmtfile_paths
|
| 208 |
%config(noreplace) %{gmtconf}/dbase/grdraster.info
|
| 209 |
%config(noreplace) %{gmtconf}/mgd77/mgd77_paths.txt
|
| 210 |
%{gmthome}/
|
| 211 |
%{_mandir}/man1/*.1*
|
| 212 |
%{_mandir}/man5/*.5*
|
| 213 |
|
| 214 |
%files devel
|
| 215 |
%defattr(-,root,root,-)
|
| 216 |
%{_includedir}/*
|
| 217 |
%{_libdir}/*.so
|
| 218 |
%{_mandir}/man3/*.3*
|
| 219 |
|
| 220 |
%files doc
|
| 221 |
%defattr(-,root,root,-)
|
| 222 |
%{gmtdoc}/
|
| 223 |
|
| 224 |
%files static
|
| 225 |
%defattr(-,root,root,-)
|
| 226 |
%{_libdir}/*.a
|
| 227 |
|
| 228 |
%files octave
|
| 229 |
%defattr(-,root,root,-)
|
| 230 |
%{octave_mdir}/*.m
|
| 231 |
%{octave_octdir}/*.mex
|
| 232 |
|
| 233 |
%files -n xgridedit
|
| 234 |
%defattr(-,root,root,-)
|
| 235 |
%doc src/xgrid/README.xgrid
|
| 236 |
%{_bindir}/xgridedit
|
| 237 |
|
| 238 |
|
| 239 |
%changelog
|
| 240 |
* Mon Oct 19 2009 Orion Poplawski <orion@cora.nwra.com> 4.5.1-1
|
| 241 |
- Update to 4.5.1
|
| 242 |
- Enable gdal support
|
| 243 |
|
| 244 |
* Fri Jul 31 2009 Alex Lancaster <alexlan[AT]fedoraproject org> - 4.5.0-4
|
| 245 |
- Rebuild against Octave 3.2.2
|
| 246 |
|
| 247 |
* Mon Jul 27 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.5.0-3
|
| 248 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
| 249 |
|
| 250 |
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.5.0-2
|
| 251 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
| 252 |
|
| 253 |
* Fri Jul 17 2009 Orion Poplawski <orion@cora.nwra.com> 4.5.0-1
|
| 254 |
- Update to 4.5.0
|
| 255 |
|
| 256 |
* Fri Apr 10 2009 Orion Poplawski <orion@cora.nwra.com> 4.4.0-2
|
| 257 |
- Add --enable-debug to avoid stripping of -g from CFLAGS
|
| 258 |
|
| 259 |
* Tue Feb 24 2009 Orion Poplawski <orion@cora.nwra.com> 4.4.0-1
|
| 260 |
- Update to 4.4.0
|
| 261 |
- Merge doc package into main package as noarch sub-packages
|
| 262 |
- Merge examples sub-package into doc
|
| 263 |
|
| 264 |
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.3.1-3
|
| 265 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
| 266 |
|
| 267 |
* Tue May 27 2008 Orion Poplawski <orion@cora.nwra.com> 4.3.1-2
|
| 268 |
- Fix lowercase provides (bug #448263)
|
| 269 |
|
| 270 |
* Wed May 21 2008 Orion Poplawski <orion@cora.nwra.com> 4.3.1-1
|
| 271 |
- Update to 4.3.1, drop upstreamed patches
|
| 272 |
- Remove other install fixes upstreamed
|
| 273 |
|
| 274 |
* Mon May 12 2008 Orion Poplawski <orion@cora.nwra.com> 4.3.0-2
|
| 275 |
- Add patch to link libraries properly
|
| 276 |
- Run ldconfig in %%post, dummy
|
| 277 |
- Don't ship .bat file
|
| 278 |
- Don't ship .in files
|
| 279 |
- Don't make .csh examples executable
|
| 280 |
- Drop execute bit on .m files
|
| 281 |
|
| 282 |
* Tue May 6 2008 Orion Poplawski <orion@cora.nwra.com> 4.3.0-1
|
| 283 |
- Update to 4.3.0, drop many upsreamed patches
|
| 284 |
- Add patch to install octave files in DESTDIR
|
| 285 |
- Add patch to fix segfaults due to uninitialized memory
|
| 286 |
- Add patch to fix a possible buffer overflow warning
|
| 287 |
- Remove duplicate html directory from examples package
|
| 288 |
- Create __package_docs directory for main package docs
|
| 289 |
|
| 290 |
* Tue Apr 28 2008 Orion Poplawski <orion@cora.nwra.com> 4.2.1-3
|
| 291 |
- Remove unfree source
|
| 292 |
- Split out xgridedit into sub-package
|
| 293 |
- Add BR and R on less
|
| 294 |
- Redirect octave-config stderr to /dev/null
|
| 295 |
- Move config files to /etc/GMT
|
| 296 |
- Use install -c -p to preserve timestamps
|
| 297 |
- Use cp -pr to copy share data
|
| 298 |
- Add sonames to shared libraries
|
| 299 |
|
| 300 |
* Mon Mar 24 2008 Orion Poplawski <orion@cora.nwra.com> 4.2.1-2
|
| 301 |
- Drop -doc sub-package, will have separate -docs package
|
| 302 |
- Add lower case name provides
|
| 303 |
- Build Octave files
|
| 304 |
|
| 305 |
* Mon Mar 17 2008 Orion Poplawski <orion@cora.nwra.com> 4.2.1-1
|
| 306 |
- Initial version
|