diff --git a/GMT.spec b/GMT.spec new file mode 100644 index 0000000000000000000000000000000000000000..d2298893696afb7dc6a5d218edeeb2f6c687619f --- /dev/null +++ b/GMT.spec @@ -0,0 +1,524 @@ +%undefine __cmake_in_source_build +%global gmthome %{_datadir}/gmt +%global gmtconf %{_sysconfdir}/gmt +%global gmtdoc %{_docdir}/gmt + +%if 0%{?fedora} >= 33 +%bcond_without flexiblas +%else +%bcond_with flexiblas +%endif + +%bcond_with octave +%if %with octave +%{!?octave_api: %global octave_api %(octave-config -p API_VERSION 2>/dev/null || echo 0)} +%global octave_mdir %(octave-config -p LOCALAPIFCNFILEDIR || echo) +%global octave_octdir %(octave-config -p LOCALAPIOCTFILEDIR || echo) +%endif + +%global completion_dir %(pkg-config --variable=completionsdir bash-completion) +%if "%{completion_dir}" == "" +%global completion_dir "/etc/bash_completion.d" +%endif + +Name: GMT +Version: 6.1.1 +Release: 3%{?dist} +Summary: Generic Mapping Tools + +License: LGPLv3+ +URL: https://www.generic-mapping-tools.org/ +Source0: https://github.com/GenericMappingTools/gmt/releases/download/%{version}/gmt-%{version}-src.tar.xz + +BuildRequires: cmake +BuildRequires: gcc +BuildRequires: bash-completion +%if %{with flexiblas} +BuildRequires: flexiblas-devel +%else +BuildRequires: openblas-devel +%endif +BuildRequires: fftw-devel +BuildRequires: gdal +BuildRequires: gdal-devel +BuildRequires: geos-devel +BuildRequires: glib2-devel +BuildRequires: GraphicsMagick +BuildRequires: libXt-devel libXaw-devel libXmu-devel libXext-devel +BuildRequires: netcdf-devel +BuildRequires: pcre-devel +BuildRequires: dcw-gmt +BuildRequires: gshhg-gmt-nc4 +%if %with octave +BuildRequires: octave-devel +%endif +# less is detected by configure, and substituted in GMT.in +BuildRequires: less +BuildRequires: xdg-utils +# For docs +BuildRequires: /usr/bin/sphinx-build +BuildRequires: ghostscript +Requires: gdal +Requires: GraphicsMagick +Requires: less +Requires: %{name}-common = %{version}-%{release} +Requires: dcw-gmt +Requires: gshhg-gmt-nc4 +Provides: gmt = %{version}-%{release} +Requires: xdg-utils +%if %without octave +Obsoletes: GMT-octave <= 4.5.11 +%endif + +# Do not generate provides for plugins +%global __provides_exclude_from ^%{_libdir}/gmt/.*\\.so$ + +%description +GMT is an open source collection of ~60 tools for manipulating geographic and +Cartesian data sets (including filtering, trend fitting, gridding, projecting, +etc.) and producing Encapsulated PostScript File (EPS) illustrations ranging +from simple x-y plots via contour maps to artificially illuminated surfaces +and 3-D perspective views. GMT supports ~30 map projections and transforma- +tions and comes with support data such as coastlines, rivers, and political +boundaries. + +GMT is developed and maintained by Paul Wessel and Walter H. F. Smith with +help from a global set of volunteers, and is supported by the National +Science Foundation. + +NOTE: Specific executables that conflict with other Fedora packages have been +removed. These functions can still be accessed via the GMT wrapper script +with: GMT [args] + + +%package common +Summary: Common files for %{name} +Provides: gmt-common = %{version}-%{release} +BuildArch: noarch + +%description common +The %{name}-common package contains common files for GMT (Generic +Mapping Tools) package. + + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} +Provides: gmt-devel = %{version}-%{release} +Obsoletes: GMT-static <= 4.5.11 + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%package doc +Summary: Documentation for %{name} +Requires: %{name} = %{version}-%{release} +Provides: gmt-doc = %{version}-%{release} +Provides: %{name}-examples = %{version}-%{release} +Obsoletes: %{name}-examples < %{version}-%{release} +BuildArch: noarch + +%description doc +The %{name}-doc package provides the documentation for the GMT (Generic +Mapping Tools) package. + + +%if %with octave +%package octave +Summary: Octave libraries for %{name} +Requires: %{name} = %{version}-%{release} +Requires: octave(api) = %{octave_api} +Provides: gmt-octave = %{version}-%{release} + +%description octave +The %{name}-octave package contains and Octave interface for developing +applications that use %{name}. +%endif + + +%prep +%autosetup -p1 -n gmt-%{version} + + +%build +mkdir build && pushd build +%cmake ../ \ + -DGSHHG_ROOT=%{_datadir}/gshhg-gmt-nc4 \ + -DGMT_INSTALL_MODULE_LINKS=off \ + -DGMT_INSTALL_TRADITIONAL_FOLDERNAMES=off \ + -DLICENSE_RESTRICTED=LGPL \ +%if %with octave + -DGMT_OCTAVE=BOOL:ON \ +%endif + -DGMT_ENABLE_OPENMP=BOOL:ON \ + -DGMT_USE_THREADS=BOOL:ON \ +%if %{with flexiblas} + -DGMT_EXCLUDE_BLAS=BOOL:ON \ + -DGMT_EXCLUDE_LAPACK=BOOL:ON \ + -DBLAS_LIBRARY=-lflexiblas \ + -DLAPACK_LIBRARY=-lflexiblas \ +%endif + -DBASH_COMPLETION_DIR=%{completion_dir} + +make %{?_smp_mflags} +popd + +%install +pushd build +%make_install +popd +#Setup configuration files +mkdir -p $RPM_BUILD_ROOT%{gmtconf}/{mgg,dbase,mgd77} +pushd $RPM_BUILD_ROOT%{gmthome}/ +# put conf files in %{gmtconf} and do links in %{gmthome} +for file in mgg/gmtfile_paths mgd77/mgd77_paths.txt; do + mv $file $RPM_BUILD_ROOT%{gmtconf}/$file + ln -s ../../../../../%{gmtconf}/$file $RPM_BUILD_ROOT%{gmthome}/$file +done +popd + +# Configure coastline data location +mkdir -p $RPM_BUILD_ROOT%{gmthome}/coast +echo %{_datadir}/gshhg-gmt-nc4 > $RPM_BUILD_ROOT%{gmthome}/coast/coastline.conf + +# Don't ship .bat files +find $RPM_BUILD_ROOT -name \*.bat -delete + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%license COPYING.LESSERv3 COPYINGv3 LICENSE.TXT +%doc AUTHORS.md CITATION.md CONTRIBUTING.md README.md +%{_bindir}/* +%{_libdir}/*.so.6* +%{_libdir}/gmt/ + +%files common +%license COPYING.LESSERv3 COPYINGv3 LICENSE.TXT +%doc AUTHORS.md CITATION.md CONTRIBUTING.md README.md +%dir %{gmtconf} +%dir %{gmtconf}/mgg +%dir %{gmtconf}/dbase +%dir %{gmtconf}/mgd77 +%config(noreplace) %{gmtconf}/mgg/gmtfile_paths +%config(noreplace) %{gmtconf}/mgd77/mgd77_paths.txt +%{gmthome}/ +%{completion_dir}/ + +%files devel +%{_includedir}/* +%{_libdir}/*.so + +%files doc +%{gmtdoc}/ + +%if %with octave +%files octave +%{octave_mdir}/*.m +%{octave_octdir}/*.mex +%endif + + +%changelog +* Mon Jan 25 2021 Fedora Release Engineering - 6.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 16 2020 Orion Poplawski - 6.1.1-2 +- Rebuild for gdal 3.2.0 + +* Thu Sep 3 2020 Orion Poplawski - 6.1.1-1 +- Update to 6.1.1 + +* Fri Aug 07 2020 Orion Poplawski - 6.1.0-4 +- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager +- Use new cmake macros + +* Mon Jul 27 2020 Fedora Release Engineering - 6.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Jeff Law - 6.1.0-2 +- Use strsignal, not str_siglist +- Use __cmake_in_source_build for now + +* Sun Jul 05 2020 Orion Poplawski - 6.1.0-1 +- Update to 6.1.0 + +* Thu May 21 2020 Sandro Mani - 6.0.0-4 +- Rebuild (gdal) + +* Tue Mar 03 2020 Sandro Mani - 6.0.0-3 +- Rebuild (gdal) + +* Tue Jan 28 2020 Fedora Release Engineering - 6.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Nov 1 2019 Orion Poplawski - 6.0.0-1 +- Update to 6.0.0 + +* Wed Jul 24 2019 Fedora Release Engineering - 5.4.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Mar 18 2019 Orion Poplawski - 5.4.5-3 +- Rebuild for netcdf 4.6.3 + +* Sun Feb 24 2019 Orion Poplawski - 5.4.5-2 +- Allow loading of only low resolution coastlines (bug #1545256) + +* Sat Feb 9 2019 Orion Poplawski - 5.4.5-1 +- Update to 5.4.5 + +* Thu Jan 31 2019 Fedora Release Engineering - 5.4.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Nov 14 2018 Orion Poplawski - 5.4.4-4 +- Rebuild for octave 4.4 + +* Thu Oct 11 2018 Orion Poplawski - 5.4.4-3 +- Install coastline data location config file (bug #1545256) + +* Tue Jul 31 2018 Florian Weimer - 5.4.4-2 +- Rebuild with fixed binutils + +* Sun Jul 29 2018 Orion Poplawski - 5.4.4-1 +- Update to 5.4.4 + +* Thu Jul 12 2018 Fedora Release Engineering - 5.4.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 21 2018 Orion Poplawski - 5.4.3-1 +- Update to 5.4.3 +- Fix GSHHG_ROOT (bug #1545256) +- Add BR gcc + +* Wed Feb 07 2018 Fedora Release Engineering - 5.4.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 5.4.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 5.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 27 2017 Orion Poplawski - 5.4.2-1 +- Update to 5.4.2 + +* Wed May 10 2017 Orion Poplawski - 5.4.1-1 +- Update to 5.4.1 + +* Tue May 9 2017 Orion Poplawski - 5.4.0-1 +- Update to 5.4.0 + +* Fri Mar 24 2017 Orion Poplawski - 5.3.3-1 +- Update to 5.3.3 + +* Tue Feb 28 2017 Orion Poplawski - 5.3.2-1 +- Update to 5.3.2 + +* Fri Feb 10 2017 Fedora Release Engineering - 5.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Oct 22 2016 Orion Poplawski - 5.3.1-1 +- Update to 5.3.1 + +* Wed Feb 03 2016 Fedora Release Engineering - 5.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Fri Jan 22 2016 Orion Poplawski - 5.2.1-2 +- Rebuild for netcdf 4.4.0 + +* Tue Nov 24 2015 Orion Poplawski - 5.2.1-1 +- Update to 5.2.1 +- Enable fftw support +- Enable GMT_USE_THREADS + +* Wed Aug 26 2015 Orion Poplawski - 5.1.2-2 +- Rebuild for gdal 2.0.0 + +* Mon Jul 27 2015 Orion Poplawski - 5.1.2-1 +- Update to 5.1.2 +- Add patch to fix bash completion install location +- Drop arch patch applied upstream + +* Mon Jul 27 2015 Orion Poplawski - 5.1.1-8 +- Rebuild for gdal 2.0.0 + +* Tue Jun 16 2015 Fedora Release Engineering - 5.1.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Oct 6 2014 Orion Poplawski - 5.1.1-6 +- Fix arch patch for aarch64 + +* Sat Oct 4 2014 Dan Horák - 5.1.1-5 +- Fix build on s390(x) + +* Thu Sep 4 2014 Orion Poplawski - 5.1.1-4 +- Add patch for multi-platform support + +* Fri Aug 15 2014 Fedora Release Engineering - 5.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 06 2014 Fedora Release Engineering - 5.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Mar 2 2014 Orion Poplawski - 5.1.1-1 +- Update to 5.1.1 + +* Thu Jan 2 2014 Orion Poplawski - 5.1.0-2 +- Add patch to support arm + +* Tue Dec 31 2013 Orion Poplawski - 5.1.0-1 +- Update to 5.1.0 +- Disable octave support - removed from upstream for now +- Drop xgridedit sub-package - removed from upstream + +* Sat Dec 28 2013 Kevin Fenzi - 4.5.11-2 +- Rebuild to fix broken deps + +* Sat Nov 9 2013 Orion Poplawski - 4.5.11-1 +- Update to 4.5.11 +- Drop includes patch fixed upstream +- Spec cleanup + +* Tue Aug 27 2013 Orion Poplawski - 4.5.9-6 +- Rebuild for gdal 1.10.0 + +* Fri Aug 02 2013 Fedora Release Engineering - 4.5.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Mar 13 2013 Orion Poplawski 4.5.9-4 +- Drop triangulate binary to avoid conflicts (bug #913685) + +* Tue Mar 12 2013 Orion Poplawski 4.5.9-3 +- Add another needed include (bug #920675) + +* Wed Feb 13 2013 Fedora Release Engineering - 4.5.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jan 22 2013 Orion Poplawski 4.5.9-1 +- Update to 4.5.9 +- Add patch to add needed includes + +* Tue Apr 3 2012 Orion Poplawski 4.5.8-1 +- Update to 4.5.8 + +* Mon Jan 16 2012 Orion Poplawski 4.5.7-3 +- Rebuild for octave 3.6.0 + +* Thu Jan 12 2012 Fedora Release Engineering - 4.5.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Aug 12 2011 Orion Poplawski 4.5.7-1 +- Update to 4.5.7 +- Drop triangulate patch applied upstream +- License is now (as of 4.5.6 actually) GPLv2 or later +- Re-enable octave support since we are GPLv3 compatible now + +* Thu Mar 31 2011 Orion Poplawski 4.5.6-2 +- Rebuild for netcdf 4.1.2 + +* Thu Mar 10 2011 Orion Poplawski 4.5.6-1 +- Update to 4.5.6 +- Add patch to avoid triangulate segfault on no or empty input (bug 681957). + +* Mon Feb 07 2011 Fedora Release Engineering - 4.5.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sat Nov 6 2010 Orion Poplawski 4.5.5-2 +- Drop octave package due to licensing issues (bug 511844) + +* Wed Nov 3 2010 Orion Poplawski 4.5.5-1 +- Update to 4.5.5 +- Drop bufoverflow patch fixed upstream + +* Thu Jul 22 2010 Orion Poplawski 4.5.3-3 +- Fix buffer overflow in psimage (bug #617332) + +* Tue Jul 20 2010 Orion Poplawski 4.5.3-2 +- Bump coastlines requirement to 2.1.0 + +* Mon Jul 19 2010 Orion Poplawski 4.5.3-1 +- Update to 4.5.3 + +* Wed Jan 27 2010 Orion Poplawski 4.5.2-1 +- Update to 4.5.2 + +* Thu Nov 19 2009 Orion Poplawski 4.5.1-3 +- Re-enable check + +* Thu Nov 19 2009 Orion Poplawski 4.5.1-2 +- Rebuild for netcdf 4.1.0 +- Don't make GMT-common depend on GMT +- Remove BR GMT-coastlines, disable check for bootstrap + +* Mon Oct 19 2009 Orion Poplawski 4.5.1-1 +- Update to 4.5.1 +- Enable gdal support + +* Fri Jul 31 2009 Alex Lancaster - 4.5.0-4 +- Rebuild against Octave 3.2.2 + +* Mon Jul 27 2009 Fedora Release Engineering - 4.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 24 2009 Fedora Release Engineering - 4.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri Jul 17 2009 Orion Poplawski 4.5.0-1 +- Update to 4.5.0 + +* Fri Apr 10 2009 Orion Poplawski 4.4.0-2 +- Add --enable-debug to avoid stripping of -g from CFLAGS + +* Tue Feb 24 2009 Orion Poplawski 4.4.0-1 +- Update to 4.4.0 +- Merge doc package into main package as noarch sub-packages +- Merge examples sub-package into doc + +* Mon Feb 23 2009 Fedora Release Engineering - 4.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Tue May 27 2008 Orion Poplawski 4.3.1-2 +- Fix lowercase provides (bug #448263) + +* Wed May 21 2008 Orion Poplawski 4.3.1-1 +- Update to 4.3.1, drop upstreamed patches +- Remove other install fixes upstreamed + +* Mon May 12 2008 Orion Poplawski 4.3.0-2 +- Add patch to link libraries properly +- Run ldconfig in %%post, dummy +- Don't ship .bat file +- Don't ship .in files +- Don't make .csh examples executable +- Drop execute bit on .m files + +* Tue May 6 2008 Orion Poplawski 4.3.0-1 +- Update to 4.3.0, drop many upsreamed patches +- Add patch to install octave files in DESTDIR +- Add patch to fix segfaults due to uninitialized memory +- Add patch to fix a possible buffer overflow warning +- Remove duplicate html directory from examples package +- Create __package_docs directory for main package docs + +* Tue Apr 29 2008 Orion Poplawski 4.2.1-3 +- Remove unfree source +- Split out xgridedit into sub-package +- Add BR and R on less +- Redirect octave-config stderr to /dev/null +- Move config files to /etc/GMT +- Use install -c -p to preserve timestamps +- Use cp -pr to copy share data +- Add sonames to shared libraries + +* Mon Mar 24 2008 Orion Poplawski 4.2.1-2 +- Drop -doc sub-package, will have separate -docs package +- Add lower case name provides +- Build Octave files + +* Mon Mar 17 2008 Orion Poplawski 4.2.1-1 +- Initial version diff --git a/README.en.md b/README.en.md index d023f616a0563434e83c637f63816f40a5497804..936e7fde834dcfc158f73208ca59e5075bab9d0a 100644 --- a/README.en.md +++ b/README.en.md @@ -4,33 +4,10 @@ Generic Mapping Tools #### Software Architecture -Software architecture description +Support x86_64, aarch64 #### Installation -1. xxxx -2. xxxx -3. xxxx #### Instructions -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md index 2d97f62fb0d806e8dc9954de70f5d14d992b71b9..12944db1fe7516d931d3f437ccfa5115635c4289 100644 --- a/README.md +++ b/README.md @@ -4,34 +4,12 @@ Generic Mapping Tools #### 软件架构 -软件架构说明 +支持x86_64, aarch64 #### 安装教程 -1. xxxx -2. xxxx -3. xxxx #### 使用说明 -1. xxxx -2. xxxx -3. xxxx -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/gmt-6.1.1-src.tar.xz b/gmt-6.1.1-src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..4ff1a8308abf8816775074ee3a635b2d27994139 Binary files /dev/null and b/gmt-6.1.1-src.tar.xz differ