diff options
Diffstat (limited to 'abs')
-rw-r--r-- | abs/extra/mcpp/PKGBUILD | 35 | ||||
-rw-r--r-- | abs/extra/mcpp/fs28284.patch | 100 | ||||
-rw-r--r-- | abs/extra/mcpp/namlen.patch | 11 |
3 files changed, 146 insertions, 0 deletions
diff --git a/abs/extra/mcpp/PKGBUILD b/abs/extra/mcpp/PKGBUILD new file mode 100644 index 0000000..6ed62f1 --- /dev/null +++ b/abs/extra/mcpp/PKGBUILD @@ -0,0 +1,35 @@ +# $Id: PKGBUILD 159222 2012-05-18 11:58:32Z jgc $ +# Maintainer: Alexander Baldeck <alexander@archlinux.org> +# Contributor: Jan de Groot <jgc@archlinux.org> + +pkgname=mcpp +pkgver=2.7.2 +pkgrel=4 +pkgdesc="Matsui's CPP implementation precisely conformed to standards" +arch=('i686' 'x86_64') +license=('custom') +url="http://mcpp.sourceforge.net" +depends=('glibc') +options=('!libtool') +source=(http://downloads.sourceforge.net/${pkgname}/${pkgname}-${pkgver}.tar.gz + namlen.patch + fs28284.patch) +md5sums=('512de48c87ab023a69250edc7a0c7b05' + '0bfc6177a58e912a9e23e368578dd3fe' + 'ba668fc6996e538f2e0c096f9eb282ce') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -Np1 -i "${srcdir}/namlen.patch" + patch -Np1 -i "${srcdir}/fs28284.patch" + ./configure --prefix=/usr --enable-mcpplib --disable-static + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" + ln -sf ../../doc/${pkgname}/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/" +} diff --git a/abs/extra/mcpp/fs28284.patch b/abs/extra/mcpp/fs28284.patch new file mode 100644 index 0000000..960203c --- /dev/null +++ b/abs/extra/mcpp/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/abs/extra/mcpp/namlen.patch b/abs/extra/mcpp/namlen.patch new file mode 100644 index 0000000..6af7418 --- /dev/null +++ b/abs/extra/mcpp/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 */ + |