summaryrefslogtreecommitdiff
path: root/dev-cpp/libmcpp
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-04-19 14:14:48 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-04-19 14:14:48 +0100
commit5cfef3c94cd7e82136c69a0322f5ba21f7e64632 (patch)
tree8f255dfacbacb657e3ac3654d01c1e11e651c066 /dev-cpp/libmcpp
parent8aebb228036d5e2863b7eaa6e319ab41c1669269 (diff)
gentoo resync : 19.04.2018
Diffstat (limited to 'dev-cpp/libmcpp')
-rw-r--r--dev-cpp/libmcpp/Manifest3
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch33
-rw-r--r--dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch75
-rw-r--r--dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild44
4 files changed, 155 insertions, 0 deletions
diff --git a/dev-cpp/libmcpp/Manifest b/dev-cpp/libmcpp/Manifest
index 04e47c15c9b9..4d5ca71ddb5d 100644
--- a/dev-cpp/libmcpp/Manifest
+++ b/dev-cpp/libmcpp/Manifest
@@ -1,4 +1,7 @@
AUX libmcpp-2.7.2-fix-build-system.patch 1008 BLAKE2B d9a87af2faada430c9bd09bb6d4e70f51385725b45dd380b6eecd67e82ed6f2e001f3768b03e08864055fe4119187cf26efd3f09463c64072a9647f63ad251d1 SHA512 25e2e9cd8d18080947a84c0d76f0b34d74b289ccc7c6172278908c026dd6f7379ebb268aae79c3e8ab458f3883aa212e54a137cbaab336c1277acdad07a13a01
+AUX libmcpp-2.7.2-gniibe.patch 1039 BLAKE2B 2d69c087602432013c86cfe3a54f67e113842b0ae1cb9d293862f9ab1956c0b38a86a93c294936eb9e43c9fc6f7c8726bcfe198d0cdd9ede68bb05acec340e46 SHA512 a31a0f2e7430381e5e62ea4257a35891ce9d2f3beed60c6caad3b6d298a58557e9c850223840ef8c6f6c2e8139cf4a4edf29ac93b2532680feafba503fcfaf6d
+AUX libmcpp-2.7.2-zeroc.patch 2342 BLAKE2B d33a7539044a084ce42d5655db298c92b288574ae677621ccbde252abbc46ea7f5c071c500431e2e761c6158944beb2efd7fa95ec8cebd4e5ea1ce3a6ddf4af9 SHA512 86b2e851490e180dfe3028a5a37019ea423924c921ab053a642fb78d4533a87f913ede2928daf9da4daf60e67795a24521186b40c76961ae99ebeb75f8aa95ad
DIST mcpp-2.7.2.tar.gz 1533457 BLAKE2B 4368fd1c667923ab3b60ce79f8421c549a9d9105957ca87b9ba49be513cb1be7f220a3ddbaf306e860014d5211af480d07170d912d3d4a80345d8eab45fd6c00 SHA512 1ca885cb13fdb684de9d0595a9215b52f48a93a69077d82cdcacafe40d9a61fb77b00a3ff2b8890e7bc0a0fcc0c8d70d4093c00c280351cd4459aba67c573235
EBUILD libmcpp-2.7.2-r2.ebuild 716 BLAKE2B 8dae6fae2e6fddda5581b1adf3faea20d9b6132b034abd7932b009820d5e5553344c4c7f75b61b992f19fdd6a01ea5a24b6d55f2c0f6a28b1f69c4f2f6726237 SHA512 a4b00d7c475c7c1deb37576fd2c0e137635df1c9c8caf31c6dc3b0579d2b73b9e1794472a3f82d24636c901ff434b9a2d8a160057293cf0ad7165cdbdf227846
+EBUILD libmcpp-2.7.2-r3.ebuild 776 BLAKE2B 20b6e5e79784b777925e8ae927ce0a5dc08321bad61fd64836c7b99796c7a6e23f19fe10749fbb6b8d34f1a1c7653a1e471c5338fae1f352d1abdcd3e08ab6cc SHA512 d0ad25a3a72047b086dc840a094da909f40995098700580e78e1e7cc040b4e6dffb07b81e741062e62aa5e3bdbcdd1abcaa3a5c9a35fa84effd59965c8c6658f
MISC metadata.xml 323 BLAKE2B 5e7e7283be11618c43b1e1138fd5af4030dfaa17b0f1e047d8af8d032888b52b5eda3c9bae4bedb1303a7849dc561721aab35e94e222f5f11c951f2f50c7a150 SHA512 0d074121ac7cbf36bab09b3f76d81df9aa19cd2399418d3b30d9e4cb9107a3f339e8b4c478694a8c8ef560d23fe9be1b4bcfc8c347d83cb51cf45fbd6849224e
diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch
new file mode 100644
index 000000000000..cb5aa6c345ce
--- /dev/null
+++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-gniibe.patch
@@ -0,0 +1,33 @@
+Description: Simple fixes
+ * Fix freeing unmalloced memory
+ The memory of 'in_file' is not malloced, but points to argv[].
+ It is wrong to free it.
+ * When there is no input file specified by argv, it causes error
+ and fp_in == NULL. Check is needed to call fclose for fp_in.
+Author: NIIBE Yutaka
+
+## Fixes the issue reported at:
+## http://www.forallsecure.com/bug-reports/6b11b6fccda17cc467e055ccf7fec3fa2d89ec00/
+
+Index: mcpp-2.7.2/src/main.c
+===================================================================
+--- mcpp-2.7.2.orig/src/main.c 2013-07-09 03:03:05.610947658 +0000
++++ mcpp-2.7.2/src/main.c 2013-07-09 03:03:05.534947624 +0000
+@@ -428,16 +428,11 @@
+
+ fatal_error_exit:
+ #if MCPP_LIB
+- /* Free malloced memory */
+- if (mcpp_debug & MACRO_CALL) {
+- if (in_file != stdin_name)
+- free( in_file);
+- }
+ clear_filelist();
+ clear_symtable();
+ #endif
+
+- if (fp_in != stdin)
++ if (fp_in && fp_in != stdin)
+ fclose( fp_in);
+ if (fp_out != stdout)
+ fclose( fp_out);
diff --git a/dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch b/dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch
new file mode 100644
index 000000000000..fff5d321fe98
--- /dev/null
+++ b/dev-cpp/libmcpp/files/libmcpp-2.7.2-zeroc.patch
@@ -0,0 +1,75 @@
+Description: Fixes by ZeroC, Inc.
+Author: ZeroC, Inc.
+Bug-Debian: http://bugs.debian.org/611749
+
+--- mcpp-2.7.2.orig/src/main.c
++++ mcpp-2.7.2/src/main.c
+@@ -326,6 +326,8 @@ static void init_main( void)
+ = FALSE;
+ option_flags.trig = TRIGRAPHS_INIT;
+ option_flags.dig = DIGRAPHS_INIT;
++ sh_file = NULL;
++ sh_line = 0;
+ }
+
+ int mcpp_lib_main
+--- mcpp-2.7.2.orig/src/support.c
++++ mcpp-2.7.2/src/support.c
+@@ -188,7 +188,7 @@ static char * append_to_buffer(
+ size_t length
+ )
+ {
+- if (mem_buf_p->bytes_avail < length) { /* Need to allocate more memory */
++ 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,6 +1722,8 @@ com_start:
+ 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 */
+--- mcpp-2.7.2.orig/src/internal.H
++++ mcpp-2.7.2/src/internal.H
+@@ -390,6 +390,8 @@ extern char * const work_end; /* E
+ 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,6 +559,6 @@ extern void init_system( void);
+ #endif
+ #endif
+
+-#if HOST_HAVE_STPCPY
++#if HOST_HAVE_STPCPY && !defined(stpcpy)
+ extern char * stpcpy( char * dest, const char * src);
+ #endif
+--- mcpp-2.7.2.orig/src/system.c
++++ mcpp-2.7.2/src/system.c
+@@ -3858,6 +3858,9 @@ static int chk_dirp(
+ }
+ #endif
+
++FILEINFO* sh_file;
++int sh_line;
++
+ void sharp(
+ FILEINFO * sharp_file,
+ int flag /* Flag to append to the line for GCC */
+@@ -3868,8 +3871,6 @@ void sharp(
+ * else (i.e. 'sharp_file' is NULL) 'infile'.
+ */
+ {
+- static FILEINFO * sh_file;
+- static int sh_line;
+ FILEINFO * file;
+ int line;
+
diff --git a/dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild b/dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild
new file mode 100644
index 000000000000..69aa40621369
--- /dev/null
+++ b/dev-cpp/libmcpp/libmcpp-2.7.2-r3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools
+
+MY_P=${P/lib/}
+
+DESCRIPTION="A portable C++ preprocessor"
+HOMEPAGE="http://mcpp.sourceforge.net"
+SRC_URI="mirror://sourceforge/mcpp/${MY_P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~ia64 ~x86 ~x86-linux ~x64-macos"
+IUSE="static-libs"
+
+S=${WORKDIR}/${MY_P}
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.7.2-fix-build-system.patch
+ "${FILESDIR}"/${PN}-2.7.2-zeroc.patch
+ "${FILESDIR}"/${PN}-2.7.2-gniibe.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ --enable-mcpplib \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+
+ if ! use static-libs; then
+ find "${D}" -name '*.la' -delete || die
+ fi
+}