diff --git a/.gitignore b/.gitignore index 7b9c2ac..b92afac 100644 --- a/.gitignore +++ b/.gitignore @@ -16,15 +16,4 @@ /grass-7.8.4.tar.gz /grass-7.8.5.tar.gz /grass-7.8.6.tar.gz -/grass-8.0.0.tar.gz -/grass-8.0.1.tar.gz -/grass-8.0.2.tar.gz -/grass-8.2.0.tar.gz -/grass-8.2.1.tar.gz -/grass-8.3.0.tar.gz -/grass-.tar.gz -/grass-8.3.1.tar.gz -/grass-8.3.2.tar.gz -/grass-8.4.0.tar.gz -/grass-8.4.1.tar.gz -/grass-8.4.2.tar.gz +/grass-7.8.7.tar.gz diff --git a/grass-pkgconfig.patch b/grass-pkgconfig.patch index e713aee..9afaf06 100644 --- a/grass-pkgconfig.patch +++ b/grass-pkgconfig.patch @@ -1,10 +1,10 @@ -diff --git a/grass.pc.in b/grass.pc.in -index 94ca57b65..aec77d095 100644 ---- a/grass.pc.in -+++ b/grass.pc.in +Index: grass-7.8.6/grass.pc.in +=================================================================== +--- grass-7.8.6.orig/grass.pc.in ++++ grass-7.8.6/grass.pc.in @@ -2,13 +2,13 @@ # - # See also: grass --config + # See also: grass@GRASS_VERSION_MAJOR@@GRASS_VERSION_MINOR@ --config -prefix=@prefix@/grass-@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@ -exec_prefix=@prefix@/grass-@GRASS_VERSION_MAJOR@.@GRASS_VERSION_MINOR@.@GRASS_VERSION_RELEASE@ diff --git a/grass.spec b/grass.spec index 3f88780..eaca93e 100644 --- a/grass.spec +++ b/grass.spec @@ -1,9 +1,9 @@ -%global shortver 84 +%global shortver 78 %global macrosdir %(d=%{_rpmconfigdir}/macros.d; [ -d $d ] || d=%{_sysconfdir}/rpm; echo $d) Name: grass -Version: 8.4.2 -Release: 3%{?dist} +Version: 7.8.7 +Release: 1%{?dist} Summary: GRASS GIS - Geographic Resources Analysis Support System %if 0%{?fedora} >= 33 || 0%{?rhel} >= 9 @@ -20,19 +20,12 @@ Summary: GRASS GIS - Geographic Resources Analysis Support System # "%%bcond_without" means "ENABLE by default and create a --without option" %bcond_without python3 -# GRASS GIS addon reuses the compiler flags originating from rpmbuild environment, -# hence disabling package-notes plugin -%undefine _package_note_file - -License: GPL-2.0-or-later +License: GPLv2+ URL: https://grass.osgeo.org Source0: https://grass.osgeo.org/%{name}%{shortver}/source/%{name}-%{version}.tar.gz # fix pkgconfig file -Patch 0: grass-pkgconfig.patch - -# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval -ExcludeArch: %{ix86} +Patch0: grass-pkgconfig.patch BuildRequires: bison %if %{with flexiblas} @@ -40,37 +33,51 @@ BuildRequires: flexiblas-devel %else BuildRequires: blas-devel, lapack-devel %endif -BuildRequires: bzip2-devel BuildRequires: cairo-devel +BuildRequires: gcc-c++ BuildRequires: desktop-file-utils BuildRequires: fftw-devel BuildRequires: flex +%if (0%{?rhel} > 6 || 0%{?fedora}) BuildRequires: freetype-devel -BuildRequires: gcc-c++ +%endif BuildRequires: gdal-devel BuildRequires: geos-devel BuildRequires: gettext BuildRequires: laszip-devel +%if (0%{?rhel} > 6 || 0%{?fedora}) BuildRequires: libappstream-glib +%endif BuildRequires: libpng-devel -%if 0%{?rhel} && 0%{?rhel} == 7 +BuildRequires: libtiff-devel +BuildRequires: libXmu-devel +BuildRequires: mesa-libGL-devel +BuildRequires: mesa-libGLU-devel +%if (0%{?rhel} > 7 || 0%{?fedora}) +BuildRequires: mariadb-connector-c-devel openssl-devel +%else +BuildRequires: mysql-devel +%endif +%if (0%{?rhel} > 6 || 0%{?fedora}) +BuildRequires: netcdf-devel +%endif +BuildRequires: python3 +%if 0%{?rhel} == 7 +# EPEL7 +BuildRequires: python%{python3_version_nodots}-numpy +%else +BuildRequires: python3-numpy +%endif +%if 0%{?rhel} && 0%{?rhel} <= 7 BuildRequires: postgresql-devel %else BuildRequires: libpq-devel %endif -BuildRequires: libtiff-devel -BuildRequires: libXmu-devel -BuildRequires: libzstd-devel -BuildRequires: make -BuildRequires: mariadb-connector-c-devel openssl-devel -BuildRequires: mesa-libGL-devel -BuildRequires: mesa-libGLU-devel -BuildRequires: netcdf-devel -BuildRequires: PDAL -BuildRequires: PDAL-devel -BuildRequires: PDAL-libs BuildRequires: proj-devel -BuildRequires: python3 +%if (0%{?rhel} <= 6 && !0%{?fedora}) +# argparse is included in python2.7+ but not python2.6 +BuildRequires: python-argparse +%endif %if 0%{?rhel} == 7 # EPEL7 BuildRequires: python%{python3_version_nodots}-dateutil @@ -78,44 +85,65 @@ BuildRequires: python%{python3_version_nodots}-dateutil BuildRequires: python3-dateutil %endif BuildRequires: python3-devel -%if 0%{?rhel} == 7 -# EPEL7 -BuildRequires: python%{python3_version_nodots}-numpy -%else -BuildRequires: python3-numpy -%endif +%if (0%{?rhel} > 6 || 0%{?fedora}) BuildRequires: python3-pillow +%else +# EPEL6 +BuildRequires: python-imaging +%endif +BuildRequires: PDAL +BuildRequires: PDAL-libs +BuildRequires: PDAL-devel BuildRequires: readline-devel BuildRequires: sqlite-devel BuildRequires: subversion BuildRequires: unixODBC-devel BuildRequires: zlib-devel +BuildRequires: bzip2-devel +BuildRequires: libzstd-devel +BuildRequires: make Requires: bzip2-libs -Requires: geos Requires: libzstd -Requires: PDAL -Requires: PDAL-libs -Requires: python3 -%if 0%{?rhel} == 7 -# EPEL7 -Requires: python%{python3_version_nodots}-dateutil -%else -Requires: python3-dateutil +Requires: geos +# fedora >= 34: Nothing +%if (0%{?rhel} > 7 || 0%{?fedora} < 34) +Requires: proj-datumgrid +Requires: proj-datumgrid-world %endif +Requires: python3 %if 0%{?rhel} == 7 # EPEL7 Requires: python%{python3_version_nodots}-numpy %else Requires: python3-numpy %endif +%if 0%{?rhel} > 6 +# EPEL7/EPEL8 +#Requires: python3-matplotlib-wx +%else +Requires: python3-matplotlib +%endif +%if 0%{?rhel} == 7 +# EPEL7 +Requires: python%{python3_version_nodots}-dateutil +%else +Requires: python3-dateutil +%endif +%if 0%{?rhel} && 0%{?rhel} < 7 +Requires: wxPython +%else Requires: python3-wxpython4 +%endif +Requires: PDAL +Requires: PDAL-libs %if "%{_lib}" == "lib" %global cpuarch 32 %else %global cpuarch 64 %endif + Requires: %{name}-libs%{?_isa} = %{version}-%{release} %description @@ -148,7 +176,7 @@ GRASS GIS development headers %prep %setup -q -%patch 0 -p1 -b.libdir +%patch0 -p1 -b.libdir # Correct mysql_config query sed -i -e 's/--libmysqld-libs/--libs/g' configure @@ -161,29 +189,42 @@ sed -i -e 's/-lblas/-lflexiblas/g' -e 's/-llapack/-lflexiblas/g' configure find -name \*.pl | xargs sed -i -e 's,#!/usr/bin/env perl,#!%{__perl},' %build +# Package is not ready for -Werror=format-security or the C++11 standard +CFLAGS="$(echo ${RPM_OPT_FLAGS} | sed -e 's/ -Werror=format-security//')" +CXXFLAGS="-std=c++98 ${CFLAGS}" %configure \ - --prefix=%{_libdir} \ - --with-blas \ -%if %{with flexiblas} - --with-blas-includes=%{_includedir}/flexiblas \ -%endif - --with-bzlib \ - --with-cairo \ - --with-cairo-ldflags=-lfontconfig \ --with-cxx \ - --with-fftw \ - --with-freetype \ - --with-freetype-includes=%{_includedir}/freetype2 \ - --with-gdal=%{_bindir}/gdal-config \ - --with-geos=%{_bindir}/geos-config \ - --with-lapack \ -%if %{with flexiblas} - --with-lapack-includes=%{_includedir}/flexiblas \ -%endif + --with-tiff \ + --with-png \ + --with-postgres \ %if 0%{?rhel} > 7 --with-mysql=no \ %else --with-mysql \ +%endif + --with-opengl \ + --with-odbc \ + --with-fftw \ + --with-blas \ + --with-lapack \ +%if %{with flexiblas} + --with-blas-includes=%{_includedir}/flexiblas \ + --with-lapack-includes=%{_includedir}/flexiblas \ +%endif + --with-cairo \ +%if (0%{?rhel} > 6 || 0%{?fedora}) + --with-freetype \ +%endif + --with-nls \ + --with-pdal \ + --with-readline \ + --with-regex \ + --with-openmp \ + --with-gdal=%{_bindir}/gdal-config \ + --with-wxwidgets=%{_bindir}/wx-config \ + --with-geos=%{_bindir}/geos-config \ +%if (0%{?rhel} > 6 || 0%{?fedora}) + --with-netcdf=%{_bindir}/nc-config \ %endif --with-mysql-includes=%{_includedir}/mysql \ %if (0%{?fedora} >= 27) @@ -191,25 +232,12 @@ find -name \*.pl | xargs sed -i -e 's,#!/usr/bin/env perl,#!%{__perl},' %else --with-mysql-libs=%{_libdir}/mysql \ %endif - --with-netcdf=%{_bindir}/nc-config \ - --with-nls \ - --with-odbc \ - --with-opengl \ - --with-openmp \ - --with-pdal \ - --with-png \ - --with-postgres \ --with-postgres-includes=%{_includedir}/pgsql \ - --with-proj-share=%{_datadir}/proj \ - --with-readline \ - --with-regex \ - --with-tiff \ - --with-wxwidgets=%{_bindir}/wx-config \ - --with-zstd - - -# .package_note hack for RHBZ #2084342 and RHBZ #2102895 -sed -i "s+ -Wl,-dT,${RPM_BUILD_DIR}/grass-%{version}/.package_note-grass-%{version}-%{release}.%{_arch}.ld++g" include/Make/Platform.make + --with-cairo-ldflags=-lfontconfig \ + --with-freetype-includes=%{_includedir}/freetype2 \ + --with-bzlib \ + --with-zstd \ + --with-proj-share=%{_datadir}/proj make %{?_smp_mflags} @@ -255,6 +283,9 @@ do iconv -f iso8859-1 -t utf8 $man > %{buildroot}%{_mandir}/man1/$(basename $man)"%{name}" done +# create symlink to unversioned name +ln -s %{_bindir}/%{name}%{shortver} %{buildroot}%{_bindir}/%{name} + # symlink docs from GISBASE to standard system location mkdir -p %{buildroot}%{_docdir} # append shortver to destination since man pages are unversioned @@ -283,7 +314,7 @@ cat > %{buildroot}%{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf</dev/null || : @@ -316,9 +347,10 @@ fi %{_docdir}/%{name}%{shortver} %files libs -%license AUTHORS COPYING GPL.TXT +%license AUTHORS COPYING GPL.TXT CHANGES %{_sysconfdir}/ld.so.conf.d/%{name}-%{_arch}.conf %{_libdir}/%{name}%{shortver}/lib/*.so +%{_libdir}/%{name}%{shortver}/lib/*.a %dir %{_libdir}/%{name}%{shortver}/driver %dir %{_libdir}/%{name}%{shortver}/driver/db %{_libdir}/%{name}%{shortver}/driver/db/* @@ -327,171 +359,15 @@ fi %{_libdir}/%{name}%{shortver}/gui %files devel -%doc TODO doc/* CONTRIBUTING.md +%doc TODO doc/* SUBMITTING %{macrosdir}/macros.%{name} %{_libdir}/pkgconfig/* %dir %{_libdir}/%{name}%{shortver}/lib %{_libdir}/%{name}%{shortver}/include %changelog -* Wed Jan 14 2026 Elliott Sales de Andrade - 8.4.2-3 -- Drop support for i686 - -* Sun Nov 23 2025 Sandro Mani - 8.4.2-2 -- Rebuild (gdal) - -* Sun Nov 23 2025 Markus Neteler - 8.4.2-1 -- Update to GRASS 8.4.2 (#2416357) - -* Sat Sep 27 2025 Markus Neteler - 8.4.1-8 -- Rebuilt for F43 - -* Fri Sep 19 2025 Python Maint - 8.4.1-7 -- Rebuilt for Python 3.14.0rc3 bytecode - -* Fri Aug 22 2025 Orion Poplawski - 8.4.1-6 -- Rebuild for netcdf 4.9.3 soname bump - -* Fri Aug 15 2025 Python Maint - 8.4.1-5 -- Rebuilt for Python 3.14.0rc2 bytecode - -* Sun Aug 03 2025 Sandro Mani - 8.4.1-4 -- Rebuild (PDAL) - -* Wed Jul 30 2025 Sandro Mani - 8.4.1-3 -- Rebuild (gdal) - -* Thu Jul 24 2025 Fedora Release Engineering - 8.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Feb 24 2025 Fedora Release Monitoring - 8.4.1-1 -- Update to 8.4.1 (#2347356) - -* Sat Feb 22 2025 Markus Neteler - 8.4.0-7 -- drop outdated proj-datumgrid condition - -* Mon Feb 10 2025 Markus Neteler - 8.4.0-6 -- EPEL10: fix proj-datumgrid condition - -* Fri Jan 17 2025 Fedora Release Engineering - 8.4.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sat Nov 09 2024 Sandro Mani - 8.4.0-4 -- Rebuild (gdal) - -* Sat Oct 26 2024 Markus Neteler - 8.4.0-3 -- Sort requirements and flags (https://github.com/OSGeo/grass/pull/4563/ by Edouard Choinière) - -* Fri Sep 06 2024 Sandro Mani - 8.4.0-2 -- Rebuild (PDAL) - -* Sun Jul 28 2024 Markus Neteler - 8.4.0-1 -- Update to 8.4.0 - -* Thu Jul 18 2024 Fedora Release Engineering - 8.3.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue May 14 2024 Sandro Mani - 8.3.2-3 -- Rebuild (gdal) - -* Tue Mar 19 2024 Sandro Mani - 8.3.2-2 -- Rebuild (PDAL) - -* Thu Mar 07 2024 Markus Neteler - 8.3.2-1 -- Update to 8.3.2 (#2268514) - -* Wed Jan 24 2024 Fedora Release Engineering - 8.3.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 8.3.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jan 3 2024 Florian Weimer - 8.3.1-4 -- Fix C compatibility issue in MySQL port handling - -* Wed Nov 15 2023 Sandro Mani - 8.3.1-3 -- Rebuild (gdal) - -* Sat Oct 28 2023 Markus Neteler 8.3.1-2 -- fix obsolete configure parameters - -* Thu Oct 26 2023 Fedora Release Monitoring - 8.3.1-1 -- Update to GRASS GIS 8.3.1 (#2246359) - -* Sat Oct 14 2023 Sandro Mani - 8.3.0-4 -- Rebuild (PDAL) - -* Sun Aug 06 2023 Alexandre Detiste - 8.3.0-3 -- Remove support for RHEL6: Grass is now Python3 only - -* Thu Jul 20 2023 Fedora Release Engineering - 8.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sun Jun 25 2023 Markus Neteler 8.3.0-1 -- New upstream version GRASS GIS 8.3.0 - -* Thu May 11 2023 Sandro Mani - 8.2.1-2 -- Rebuild (gdal) - -* Sat Jan 21 2023 Markus Neteler 8.2.1-1 -- New upstream version GRASS GIS 8.2.1 - -* Thu Jan 19 2023 Fedora Release Engineering - 8.2.0-11 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Mon Jan 16 2023 Markus Neteler 8.2.0-10 -- modify grass-pdal.patch for alternative C++ fix - -* Sat Jan 14 2023 Sandro Mani - 8.2.0-9 -- Rebuild (PDAL) - -* Sat Nov 12 2022 Sandro Mani - 8.2.0-8 -- Rebuild (gdal) - -* Wed Nov 09 2022 Markus Neteler 8.2.0-7 -- SPDX license tag update - -* Thu Nov 03 2022 Markus Neteler - 8.2.0-6 -- fix RPM ARCH not defined for GRASS GIS addon installation (RHBZ #2138373) - -* Sat Sep 17 2022 Markus Neteler - 8.2.0-5 -- fix unexpected keyword argument 'codeset' (Python 3.11) for RHBZ #2126608 - -* Mon Aug 08 2022 Markus Neteler - 8.2.0-4 -- Rebuild for RHBZ #2107826 (PYC magic number has changed) - -* Thu Jul 21 2022 Fedora Release Engineering - 8.2.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jul 11 2022 Markus Neteler - 8.2.0-2 -- .package_note hack for RHBZ #2084342 and RHBZ #2102895 - -* Sat Jun 04 2022 Markus Neteler - 8.2.0-1 -- New upstream version GRASS GIS 8.2.0 - -* Sat May 21 2022 Sandro Mani - 8.0.2-2 -- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0 - -* Thu May 12 2022 Markus Neteler - 8.0.2-1 -- New upstream version GRASS GIS 8.0.2 - -* Tue Mar 29 2022 Markus Neteler - 8.0.1-3 -- Rebuild for pdal-2.4.0 - -* Thu Mar 10 2022 Sandro Mani - 8.0.1-2 -- Rebuild for proj-9.0.0 - -* Thu Feb 24 2022 Markus Neteler - 8.0.1-1 -- New upstream version GRASS GIS 8.0.1 - -* Fri Jan 28 2022 Markus Neteler - 8.0.0-1 -- New upstream version GRASS GIS 8.0.0 - -* Thu Jan 20 2022 Fedora Release Engineering - 7.8.6-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Thu Nov 11 2021 Sandro Mani - 7.8.6-3 -- Rebuild (gdal) +* Wed Feb 23 2022 Markus Neteler - 7.8.7-1 +- New upstream version GRASS GIS 7.8.7 * Sun Nov 07 2021 Björn Esser - 7.8.6-2 - Add patch to fix installation path in pkgconfig file diff --git a/grass72_ctypes_gcc7.diff b/grass72_ctypes_gcc7.diff new file mode 100644 index 0000000..6ee91e7 --- /dev/null +++ b/grass72_ctypes_gcc7.diff @@ -0,0 +1,90 @@ +Index: grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/lextab.py +=================================================================== +--- grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71218) ++++ grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/lextab.py (revision 71219) +@@ -1,59 +1,8 @@ + # lextab.py. This file automatically created by PLY (version 2.2). Don't edit! +-_lextokens = { +- 'RIGHT_OP': None, +- 'RIGHT_ASSIGN': None, +- 'DEC_OP': None, +- 'PP_MACRO_PARAM': None, +- 'DIV_ASSIGN': None, +- 'PP_DEFINE': None, +- 'PP_END_DEFINE': None, +- 'PP_DEFINE_MACRO_NAME': None, +- 'HEADER_NAME': None, +- 'NEWLINE': None, +- 'CHARACTER_CONSTANT': None, +- 'PP_STRINGIFY': None, +- 'AND_ASSIGN': None, +- 'PTR_OP': None, +- 'ELLIPSIS': None, +- 'IDENTIFIER': None, +- 'ADD_ASSIGN': None, +- 'PERIOD': None, +- 'AND_OP': None, +- 'OTHER': None, +- 'LPAREN': None, +- 'LEFT_OP': None, +- 'LE_OP': None, +- 'OR_OP': None, +- 'SUB_ASSIGN': None, +- 'MOD_ASSIGN': None, +- 'STRING_LITERAL': None, +- 'PP_IDENTIFIER_PASTE': None, +- 'PP_NUMBER': None, +- 'PP_DEFINE_NAME': None, +- 'XOR_ASSIGN': None, +- 'OR_ASSIGN': None, +- 'GE_OP': None, +- 'MUL_ASSIGN': None, +- 'LEFT_ASSIGN': None, +- 'INC_OP': None, +- 'NE_OP': None, +- 'EQ_OP': None} +-_lexreflags = 0 +-_lexliterals = '' ++_lextokens = {'RIGHT_OP': None, 'RIGHT_ASSIGN': None, 'DEC_OP': None, 'PP_MACRO_PARAM': None, 'DIV_ASSIGN': None, 'PP_DEFINE': None, 'PP_END_DEFINE': None, 'PP_DEFINE_MACRO_NAME': None, 'HEADER_NAME': None, 'NEWLINE': None, 'CHARACTER_CONSTANT': None, 'PP_STRINGIFY': None, 'AND_ASSIGN': None, 'PTR_OP': None, 'ELLIPSIS': None, 'IDENTIFIER': None, 'ADD_ASSIGN': None, 'PERIOD': None, 'AND_OP': None, 'OTHER': None, 'LPAREN': None, 'LEFT_OP': None, 'LE_OP': None, 'OR_OP': None, 'SUB_ASSIGN': None, 'MOD_ASSIGN': None, 'STRING_LITERAL': None, 'PP_IDENTIFIER_PASTE': None, 'PP_NUMBER': None, 'PP_DEFINE_NAME': None, 'XOR_ASSIGN': None, 'OR_ASSIGN': None, 'GE_OP': None, 'MUL_ASSIGN': None, 'LEFT_ASSIGN': None, 'INC_OP': None, 'NE_OP': None, 'EQ_OP': None} ++_lexreflags = 0 ++_lexliterals = '' + _lexstateinfo = {'INITIAL': 'inclusive', 'DEFINE': 'exclusive'} +-_lexstatere = { +- 'INITIAL': [ +- ('(?P\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))', [ +- None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [ +- None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), ('(?P(?P[0-9]+)?(?P[.]?)(?P(?(p1)[0-9]*|[0-9]+))(?P(?:[Ee][+-]?[0-9]+)?)(?P[FflL]?)(?!\\w))', [ +- None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P(?P(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P[uUlL]*))', [ +- None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?PL?\'(\\\\.|[^\\\\\'])+\')|(?PL?"(\\\\.|[^\\\\"])*")|(?P\\()|(?P\\n)|(?P\\#define)', [ +- None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 'INITIAL_pp_define')])], 'DEFINE': [ +- ('(?P\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P(\\.\\.\\.|\\|\\||\\+\\+|\\*=|\\^=|<<=|>>=|\\|=|\\+=|>=|>>|<<|<=|<:|%=|:>|<%|!=|\\)|\\+|\\*|\\.|\\?|==|&=|&&|\\[|\\^|--|/=|%>|-=|->|\\||!|%|&|-|,|/|;|:|=|>|]|<|{|}|~))', [ +- None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [ +- None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), ('(?P(?P[0-9]+)?(?P[.]?)(?P(?(p1)[0-9]*|[0-9]+))(?P(?:[Ee][+-]?[0-9]+)?)(?P[FflL]?)(?!\\w))', [ +- None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P(?P(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P[uUlL]*))', [ +- None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?PL?\'(\\\\.|[^\\\\\'])+\')|(?PL?"(\\\\.|[^\\\\"])*")|(?P\\()|(?P\\n)|(?P(\\#\\#)|(\\#))', [ +- None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 'DEFINE_pp_param_op')])]} ++_lexstatere = {'INITIAL': [('(?P\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))', [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [None, ('t_INITIAL_identifier', 'INITIAL_identifier')]), ('(?P(?P[0-9]+)?(?P[.]?)(?P(?(p1)[0-9]*|[0-9]+))(?P(?:[Ee][+-]?[0-9]+)?)(?P([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))', [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P(?P(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P[uUlL]*))', [None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?PL?\'(\\\\.|[^\\\\\'])+\')|(?PL?"(\\\\.|[^\\\\"])*")|(?P\\()|(?P\\n)|(?P\\#define)', [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_INITIAL_newline', 'INITIAL_newline'), ('t_INITIAL_pp_define', 'INITIAL_pp_define')])], 'DEFINE': [('(?P\\#\\s+(\\d+)\\s+"([^"]+)"[ \\d]*\\n)|(?P(\\.\\.\\.|\\|\\||\\+\\+|>>=|\\|=|\\^=|<<=|\\*=|\\+=|>=|>>|%=|:>|%>|!=|\\*|\\.|==|\\^|--|-=|->|\\||<<|<=|<:|<%|\\)|\\+|\\?|&=|&&|\\[|/=|&|,|:|<|>|~|!|%|-|/|;|=|]|{|}))', [None, ('t_ANY_directive', 'ANY_directive'), None, None, ('t_ANY_punctuator', 'ANY_punctuator')]), ('(?P[a-zA-Z_]([a-zA-Z_]|[0-9])*)', [None, ('t_DEFINE_identifier', 'DEFINE_identifier')]), ('(?P(?P[0-9]+)?(?P[.]?)(?P(?(p1)[0-9]*|[0-9]+))(?P(?:[Ee][+-]?[0-9]+)?)(?P([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)?)(?!\\w))', [None, ('t_ANY_float', 'ANY_float'), None, None, None, None, None]), ('(?P(?P(?:0x[a-fA-F0-9]+)|(?:[0-9]+))(?P[uUlL]*))', [None, ('t_ANY_int', 'ANY_int'), None, None]), ('(?PL?\'(\\\\.|[^\\\\\'])+\')|(?PL?"(\\\\.|[^\\\\"])*")|(?P\\()|(?P\\n)|(?P(\\#\\#)|(\\#))', [None, ('t_ANY_character_constant', 'ANY_character_constant'), None, ('t_ANY_string_literal', 'ANY_string_literal'), None, ('t_ANY_lparen', 'ANY_lparen'), ('t_DEFINE_newline', 'DEFINE_newline'), ('t_DEFINE_pp_param_op', 'DEFINE_pp_param_op')])]} + _lexstateignore = {'INITIAL': ' \t\x0b\x0c\r', 'DEFINE': ' \t\x0b\x0c\r'} + _lexstateerrorf = {'INITIAL': 't_INITIAL_error', 'DEFINE': 't_DEFINE_error'} +Index: grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/pplexer.py +=================================================================== +--- grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/pplexer.py (revision 71218) ++++ grass-7.2.1/lib/python/ctypes/ctypesgencore/parser/pplexer.py (revision 71219) +@@ -53,5 +53,5 @@ + 'H': '[a-fA-F0-9]', + 'E': '[Ee][+-]?\s*{D}+', +- 'FS': '[FflL]', ++ 'FS': '([FfLl]|d[dfl]|D[DFL]|[fFdD][0-9]+x?)', + 'IS': '[uUlL]*', + } +@@ -227,8 +227,8 @@ + suf = m.group("suf") + +- if dp or exp or (suf and suf in ("Ff")): ++ if dp or exp or (suf and suf not in ("Ll")): + s = m.group(0) + if suf: +- s = s[:-1] ++ s = s[:-len(suf)] + # Attach a prefix so the parser can figure out if should become an + # integer, float, or long diff --git a/grass72_rpc_removal.diff b/grass72_rpc_removal.diff new file mode 100644 index 0000000..48e8762 --- /dev/null +++ b/grass72_rpc_removal.diff @@ -0,0 +1,43 @@ +Index: grass-7.2.2/lib/raster/get_row.c +=================================================================== +--- grass-7.2.2/lib/raster/get_row.c (revision 71935) ++++ grass-7.2.2/lib/raster/get_row.c (revision 71944) +@@ -15,6 +15,4 @@ + #include + #include +- +-#include /* need this for sgi */ + + #include +Index: grass-7.2.2/lib/raster/open.c +=================================================================== +--- grass-7.2.2/lib/raster/open.c (revision 71935) ++++ grass-7.2.2/lib/raster/open.c (revision 71944) +@@ -13,6 +13,4 @@ + */ + +-#include +-#include + #include + #include +Index: grass-7.2.2/lib/raster/range.c +=================================================================== +--- grass-7.2.2/lib/raster/range.c (revision 71935) ++++ grass-7.2.2/lib/raster/range.c (revision 71944) +@@ -13,5 +13,4 @@ + + #include +-#include /* need this for sgi */ + + #include + Index: grass-7.2.2/lib/raster/R.h +=================================================================== +--- grass-7.2.2/lib/raster/R.h (revision 72283) ++++ grass-7.2.2/lib/raster/R.h (revision 72284) +@@ -1,6 +1,5 @@ + #include + #include +-#include + #ifdef HAVE_GDAL + #include + #endif diff --git a/sources b/sources index 9ae3f53..d3aefa1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (grass-8.4.2.tar.gz) = bbbe219b0d4a7075374c7f8b11de838f014ea0bce84a22dc9089d65fe49fd4f41d8e39867f08fa12ab46e8ff883389c22ccb9976ef89c2fed24834d1ba5cf6fb +SHA512 (grass-7.8.7.tar.gz) = 8c890b34a64c3a52285a8d99e2a2ec61b41de0258ae5b70d1876499988a9a8229925b82f4595df6b5cf21b77ecc8529feb75f765d4e92f324a734293dffc7303