From aeeef71430443d7c2493cbb605aa26a4b9280a9b Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Sat, 6 Jan 2024 07:01:46 +0100 Subject: [PATCH] rebuilt with patches from Arch Linux [release 2.7.2-3mamba;Fri Dec 24 2021] --- README.md | 13 ++--- mcpp-2.7.2-fs28284.patch | 100 +++++++++++++++++++++++++++++++++++++++ mcpp-2.7.2-namlen.patch | 11 +++++ mcpp.spec | 55 ++++++++++----------- patch.mcpp.2.7.2.txt | 54 --------------------- 5 files changed, 139 insertions(+), 94 deletions(-) create mode 100644 mcpp-2.7.2-fs28284.patch create mode 100644 mcpp-2.7.2-namlen.patch delete mode 100644 patch.mcpp.2.7.2.txt diff --git a/README.md b/README.md index c4e686a..b6056d1 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,8 @@ # mcpp -C/C++ preprocessor defines and expands macros and processes '#if', -'#include' and some other directives. - +C/C++ preprocessor defines and expands macros and processes '#if', '#include' and some other directives. MCPP is an alternative C/C++ preprocessor with the highest conformance. It supports multiple standards: K&R, ISO C90, ISO C99, and ISO C++98. -MCPP is especially useful for debugging a source program which uses -complicated macros and also useful for checking portability of a source. - -Though mcpp could be built as a replacement of GCC's resident -proprocessor or as a stand-alone program without using library build of -mcpp, this package installs only a program named 'mcpp' which links -shared library of mcpp and behaves independent from GCC. +MCPP is especially useful for debugging a source program which uses complicated macros and also useful for checking portability of a source. +Though mcpp could be built as a replacement of GCC's resident proprocessor or as a stand-alone program without using library build of mcpp, this package installs only a program named 'mcpp' which links shared library of mcpp and behaves independent from GCC. diff --git a/mcpp-2.7.2-fs28284.patch b/mcpp-2.7.2-fs28284.patch new file mode 100644 index 0000000..960203c --- /dev/null +++ b/mcpp-2.7.2-fs28284.patch @@ -0,0 +1,100 @@ +diff -c -r -N ../mcpp-2.7.2/src/internal.H ./src/internal.H +*** ../mcpp-2.7.2/src/internal.H 2008-08-27 10:31:16.000000000 -0230 +--- ./src/internal.H 2009-12-17 21:01:35.000000000 -0330 +*************** +*** 390,395 **** +--- 390,397 ---- + extern char identifier[]; /* Lastly scanned name */ + extern IFINFO ifstack[]; /* Information of #if nesting */ + extern char work_buf[]; ++ extern FILEINFO * sh_file; ++ extern int sh_line; + /* Temporary buffer for directive line and macro expansion */ + + /* main.c */ +*************** +*** 557,562 **** + #endif + #endif + +! #if HOST_HAVE_STPCPY + extern char * stpcpy( char * dest, const char * src); + #endif +--- 559,564 ---- + #endif + #endif + +! #if HOST_HAVE_STPCPY && !defined(stpcpy) + extern char * stpcpy( char * dest, const char * src); + #endif +diff -c -r -N ../mcpp-2.7.2/src/main.c ./src/main.c +*** ../mcpp-2.7.2/src/main.c 2008-11-05 05:04:46.000000000 -0330 +--- ./src/main.c 2009-12-17 20:42:42.000000000 -0330 +*************** +*** 326,331 **** +--- 326,333 ---- + = FALSE; + option_flags.trig = TRIGRAPHS_INIT; + option_flags.dig = DIGRAPHS_INIT; ++ sh_file = NULL; ++ sh_line = 0; + } + + int mcpp_lib_main +diff -c -r -N ../mcpp-2.7.2/src/support.c ./src/support.c +*** ../mcpp-2.7.2/src/support.c 2008-06-10 06:02:33.000000000 -0230 +--- ./src/support.c 2009-12-17 20:42:39.000000000 -0330 +*************** +*** 188,194 **** + size_t length + ) + { +! if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */ + size_t size = MAX( BUF_INCR_SIZE, length); + + if (mem_buf_p->buffer == NULL) { /* 1st append */ +--- 188,194 ---- + size_t length + ) + { +! if (mem_buf_p->bytes_avail < length + 1) { /* Need to allocate more memory */ + size_t size = MAX( BUF_INCR_SIZE, length); + + if (mem_buf_p->buffer == NULL) { /* 1st append */ +*************** +*** 1722,1727 **** +--- 1722,1729 ---- + sp -= 2; + while (*sp != '\n') /* Until end of line */ + mcpp_fputc( *sp++, OUT); ++ mcpp_fputc( '\n', OUT); ++ wrong_line = TRUE; + } + goto end_line; + default: /* Not a comment */ +diff -c -r -N ../mcpp-2.7.2/src/system.c ./src/system.c +*** ../mcpp-2.7.2/src/system.c 2008-11-26 06:23:51.000000000 -0330 +--- ./src/system.c 2009-12-17 20:42:42.000000000 -0330 +*************** +*** 3858,3863 **** +--- 3858,3866 ---- + } + #endif + ++ FILEINFO* sh_file; ++ int sh_line; ++ + void sharp( + FILEINFO * sharp_file, + int flag /* Flag to append to the line for GCC */ +*************** +*** 3868,3875 **** + * else (i.e. 'sharp_file' is NULL) 'infile'. + */ + { +- static FILEINFO * sh_file; +- static int sh_line; + FILEINFO * file; + int line; + +--- 3871,3876 ---- diff --git a/mcpp-2.7.2-namlen.patch b/mcpp-2.7.2-namlen.patch new file mode 100644 index 0000000..6af7418 --- /dev/null +++ b/mcpp-2.7.2-namlen.patch @@ -0,0 +1,11 @@ +--- mcpp-2.7.2/src/mbchar.c 2008-03-08 13:06:13.000000000 +0000 ++++ mcpp-2.7.2/src/mbchar.c 2009-03-08 13:14:17.000000000 +0000 +@@ -345,7 +345,7 @@ + static size_t mb_read_utf8( int c1, char ** in_pp, char ** out_pp); + /* For UTF8 mbchar encoding */ + +-#define NAMLEN 20 ++#define NAMLEN 40 + #define UPPER 1 /* To upper */ + #define LOWER 0 /* To lower */ + diff --git a/mcpp.spec b/mcpp.spec index 222cb92..096f2ff 100644 --- a/mcpp.spec +++ b/mcpp.spec @@ -1,36 +1,28 @@ Name: mcpp Version: 2.7.2 -Release: 2mamba +Release: 3mamba Summary: Alternative C/C++ preprocessor Group: Development/Languages Vendor: openmamba Distribution: openmamba -Packager: gil +Packager: Silvan Calarco URL: http://mcpp.sourceforge.net/ Source: http://downloads.sourceforge.net/project/mcpp/mcpp/V.%{version}/mcpp-%{version}.tar.gz Patch0: mcpp-manual.html.patch -# from http://www.zeroc.com/forums/patches/4445-patch-1-mcpp-2-7-2-a.html -Patch1: patch.mcpp.2.7.2.txt +Patch2: mcpp-2.7.2-fs28284.patch +Patch3: mcpp-2.7.2-namlen.patch License: BSD ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel ## AUTOBUILDREQ-END Requires: libmcpp = %{?epoch:%epoch:}%{version}-%{release} -BuildRoot: %{_tmppath}/%{name}-%{version}-root %description -C/C++ preprocessor defines and expands macros and processes '#if', -'#include' and some other directives. - +C/C++ preprocessor defines and expands macros and processes '#if', '#include' and some other directives. MCPP is an alternative C/C++ preprocessor with the highest conformance. It supports multiple standards: K&R, ISO C90, ISO C99, and ISO C++98. -MCPP is especially useful for debugging a source program which uses -complicated macros and also useful for checking portability of a source. - -Though mcpp could be built as a replacement of GCC's resident -proprocessor or as a stand-alone program without using library build of -mcpp, this package installs only a program named 'mcpp' which links -shared library of mcpp and behaves independent from GCC. +MCPP is especially useful for debugging a source program which uses complicated macros and also useful for checking portability of a source. +Though mcpp could be built as a replacement of GCC's resident proprocessor or as a stand-alone program without using library build of mcpp, this package installs only a program named 'mcpp' which links shared library of mcpp and behaves independent from GCC. %package -n libmcpp Group: System/Libraries @@ -38,7 +30,6 @@ Summary: Libraries for MCPP %description -n libmcpp MCPP is an alternative C/C++ preprocessor with the highest conformance. - This package provides a library build of mcpp. %package -n libmcpp-devel @@ -48,8 +39,7 @@ Requires: libmcpp = %{?epoch:%epoch:}%{version}-%{release} %description -n libmcpp-devel MCPP is an alternative C/C++ preprocessor with the highest conformance. - -This package contains libraries and header files need for development. +This package contains libraries and header files needed for development. %package doc Summary: Documentation for MCPP @@ -57,19 +47,22 @@ Group: Documentation %description doc MCPP is an alternative C/C++ preprocessor with the highest conformance. - The %{name}-doc package contains the documentation for MCPP. -%prep +%debug_packages +%prep %setup -q -n mcpp-%{version} %patch0 -p0 -b -z.euc-jp -%patch1 -p1 +%patch2 -p1 -b .fs28284 +%patch3 -p1 -b .namlen +sed -i "s,| arm-\* |,| aarch64-\* | arm-\* |," config/config.sub %build %configure \ --enable-mcpplib \ --disable-static + make CFLAGS="%{optflags}" %install @@ -84,20 +77,19 @@ install -m 644 mcpp-gcc.1 %{buildroot}%{_mandir}/man1/ %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%files -%defattr(-,root,root) -%{_bindir}/mcpp -%{_mandir}/man1/mcpp.1.gz -%{_mandir}/man1/mcpp-gcc.1.gz -%doc ChangeLog ChangeLog.old LICENSE NEWS README - %post -n libmcpp -p /sbin/ldconfig %postun -n libmcpp -p /sbin/ldconfig +%files +%defattr(-,root,root) +%{_bindir}/mcpp +%{_mandir}/man1/mcpp.1* +%{_mandir}/man1/mcpp-gcc.1* + %files -n libmcpp %defattr(-,root,root) -%{_libdir}/libmcpp.so.0 -%{_libdir}/libmcpp.so.0.3.0 +%{_libdir}/libmcpp.so.* +%doc LICENSE %files -n libmcpp-devel %defattr(-,root,root) @@ -111,6 +103,9 @@ install -m 644 mcpp-gcc.1 %{buildroot}%{_mandir}/man1/ %lang(en) %doc doc/mcpp-manual.html %changelog +* Fri Dec 24 2021 Silvan Calarco 2.7.2-3mamba +- rebuilt with patches from Arch Linux + * Mon Jan 17 2011 gil 2.7.2-2mamba - rebuilt devel diff --git a/patch.mcpp.2.7.2.txt b/patch.mcpp.2.7.2.txt deleted file mode 100644 index f51aefe..0000000 --- a/patch.mcpp.2.7.2.txt +++ /dev/null @@ -1,54 +0,0 @@ -diff -c -r -N ../mcpp-2.7.2-old/src/internal.H ./src/internal.H -*** ../mcpp-2.7.2-old/src/internal.H 2008-08-27 10:31:16.000000000 -0230 ---- ./src/internal.H 2009-05-21 09:49:31.000000000 -0230 -*************** -*** 390,395 **** ---- 390,397 ---- - extern char identifier[]; /* Lastly scanned name */ - extern IFINFO ifstack[]; /* Information of #if nesting */ - extern char work_buf[]; -+ extern FILEINFO * sh_file; -+ extern int sh_line; - /* Temporary buffer for directive line and macro expansion */ - - /* main.c */ -diff -c -r -N ../mcpp-2.7.2-old/src/main.c ./src/main.c -*** ../mcpp-2.7.2-old/src/main.c 2008-11-05 05:04:46.000000000 -0330 ---- ./src/main.c 2009-05-21 09:47:50.000000000 -0230 -*************** -*** 326,331 **** ---- 326,333 ---- - = FALSE; - option_flags.trig = TRIGRAPHS_INIT; - option_flags.dig = DIGRAPHS_INIT; -+ sh_file = NULL; -+ sh_line = 0; - } - - int mcpp_lib_main -diff -c -r -N ../mcpp-2.7.2-old/src/system.c ./src/system.c -*** ../mcpp-2.7.2-old/src/system.c 2008-11-26 06:23:51.000000000 -0330 ---- ./src/system.c 2009-05-21 09:48:50.000000000 -0230 -*************** -*** 3858,3863 **** ---- 3858,3866 ---- - } - #endif - -+ FILEINFO* sh_file; -+ int sh_line; -+ - void sharp( - FILEINFO * sharp_file, - int flag /* Flag to append to the line for GCC */ -*************** -*** 3868,3875 **** - * else (i.e. 'sharp_file' is NULL) 'infile'. - */ - { -- static FILEINFO * sh_file; -- static int sh_line; - FILEINFO * file; - int line; - ---- 3871,3876 ----