summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2016-09-26 00:22:40 +0200
committerDavid Seifert <soap@gentoo.org>2016-09-26 00:23:23 +0200
commit7903e76836b83a49ddac62b9bc9c4aaa1238fbe2 (patch)
tree92f638505c0ddae8b388f4b0564b28fc68a598d1 /sci-libs/galib/files
parentsci-astronomy/astrometry: add missing dependency on astropy (diff)
downloadgentoo-7903e76836b83a49ddac62b9bc9c4aaa1238fbe2.tar.gz
gentoo-7903e76836b83a49ddac62b9bc9c4aaa1238fbe2.tar.bz2
gentoo-7903e76836b83a49ddac62b9bc9c4aaa1238fbe2.zip
sci-libs/galib: Allow for compiling with GCC 6
Gentoo-bug: 594504 * Patch by Peter Levine * EAPI=6 * [QA] Fix -Wformat-security errors * Fix build system to honour CXX, AR, RANLIB properly Package-Manager: portage-2.3.1
Diffstat (limited to 'sci-libs/galib/files')
-rw-r--r--sci-libs/galib/files/galib-2.4.7-Wformat-security.patch79
-rw-r--r--sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch65
-rw-r--r--sci-libs/galib/files/galib-2.4.7-fix-c++14.patch85
3 files changed, 229 insertions, 0 deletions
diff --git a/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch b/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch
new file mode 100644
index 000000000000..faa7dcff446d
--- /dev/null
+++ b/sci-libs/galib/files/galib-2.4.7-Wformat-security.patch
@@ -0,0 +1,79 @@
+Fix -Wformat-security issues, as we do not want to install potentially
+dangerous example C++ files on user systems:
+* ex18.C: In function ‘int main(int, char**)’:
+* ex18.C:92:27: warning: format not a string literal and no format arguments [-Wformat-security]
+* sprintf(filename, argv[i]);
+
+--- a/examples/ex18.C
++++ b/examples/ex18.C
+@@ -89,7 +89,7 @@
+ exit(1);
+ }
+ else{
+- sprintf(filename, argv[i]);
++ sprintf(filename, "%s", argv[i]);
+ continue;
+ }
+ }
+--- a/examples/ex3.C
++++ b/examples/ex3.C
+@@ -71,7 +71,7 @@
+ exit(1);
+ }
+ else{
+- sprintf(filename, argv[i]);
++ sprintf(filename, "%s", argv[i]);
+ continue;
+ }
+ }
+--- a/examples/ex5.C
++++ b/examples/ex5.C
+@@ -308,7 +308,7 @@
+ exit(1);
+ }
+ else{
+- sprintf(filename1, argv[i]);
++ sprintf(filename1, "%s", argv[i]);
+ continue;
+ }
+ }
+@@ -318,7 +318,7 @@
+ exit(1);
+ }
+ else{
+- sprintf(filename2, argv[i]);
++ sprintf(filename2, "%s", argv[i]);
+ continue;
+ }
+ }
+--- a/examples/ex7.C
++++ b/examples/ex7.C
+@@ -68,7 +68,7 @@
+ exit(1);
+ }
+ else{
+- sprintf(datafile, argv[i]);
++ sprintf(datafile, "%s", argv[i]);
+ continue;
+ }
+ }
+@@ -78,7 +78,7 @@
+ exit(1);
+ }
+ else{
+- sprintf(parmfile, argv[i]);
++ sprintf(parmfile, "%s", argv[i]);
+ params.read(parmfile);
+ continue;
+ }
+--- a/ga/gaerror.C
++++ b/ga/gaerror.C
+@@ -21,7 +21,7 @@
+ static STD_OSTREAM *__gaErrStream = & STD_CERR;
+ #endif
+ static GABoolean __gaErrFlag = gaTrue;
+-static char *__gaErrStr[] = {
++static const char *__gaErrStr[] = {
+ "error reading from file: ",
+ "error writing to file: ",
+ "unexpected EOF encountered during read.",
diff --git a/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch b/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch
new file mode 100644
index 000000000000..3ed7ad84e6d4
--- /dev/null
+++ b/sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch
@@ -0,0 +1,65 @@
+Fix the build system, removing hardcoded values for toolchain variables.
+
+--- a/examples/makefile
++++ b/examples/makefile
+@@ -6,7 +6,6 @@
+ # want to compile. See the README for a description of what each example does.
+ # -----------------------------------------------------------------------------
+
+-include ../makevars
+
+ # Set these paths to the location of the GA library and headers.
+ #GA_INC_DIR= /usr/local/include
+@@ -14,8 +13,6 @@
+ GA_INC_DIR= ..
+ GA_LIB_DIR= ../ga
+
+-INC_DIRS= -I$(GA_INC_DIR)
+-LIB_DIRS= -L$(GA_LIB_DIR)
+
+ EXS=randtest\
+ ex1 ex2 ex3 ex4 ex5 ex6 ex7 ex8 ex9\
+@@ -24,7 +21,7 @@
+
+ .SUFFIXES: .C
+ .C.o:
+- $(CXX) $(CXXFLAGS) $(INC_DIRS) -c $<
++ $(CXX) $(CXXFLAGS) -I.. -c $<
+
+ all: $(EXS)
+
+@@ -34,7 +31,7 @@
+
+ # Use this for gnu make
+ $(EXS): %: %.o
+- $(CXX) $@.o -o $@ $(LIB_DIRS) -lga -lm $(CXX_LIBS)
++ $(CXX) $@.o -o $@ -L../ga/ -lga -lm $(CXX_LIBS)
+
+ clean:
+ $(RM) $(EXS)
+--- a/ga/makefile
++++ b/ga/makefile
+@@ -14,7 +14,7 @@
+
+ $(LIB): $(OBJS)
+ $(PRELINK)
+- $(AR) $(LIB) $?
++ $(AR) rv $(LIB) $?
+ $(RANLIB) $(LIB)
+ echo "$(CXX) $(CXXFLAGS)" > BUILD
+ @echo $(LIB) is now up-to-date
+--- a/makevars
++++ b/makevars
+@@ -31,12 +31,7 @@
+ # verified 06mar07 on linux-x86 (debian with gcc 3.3.5)
+ # verified 06mar07 on linux-x86 (ubuntu with gcc 4.0.3)
+ # verified 06mar07 on macosx-ppc (macosx 10.4.8 with gcc 4.0.1)
+-CXX = g++
+-CXXFLAGS = -g -Wall
+-LD = g++ -w
+-AR = ar rv
+ INSTALL = install -c
+-RANLIB = echo no ranlib
+
+ # gcc2
+ # verified 28dec04 on linux-x86 (redhat 6.2 with gcc 2.95.2)
diff --git a/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch b/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch
new file mode 100644
index 000000000000..babc84b63524
--- /dev/null
+++ b/sci-libs/galib/files/galib-2.4.7-fix-c++14.patch
@@ -0,0 +1,85 @@
+Fix building with C++14, which errors out due to stricter two-phase lookup.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594504
+
+Patch by Peter Levine
+
+--- a/ga/GA1DArrayGenome.C
++++ b/ga/GA1DArrayGenome.C
+@@ -222,8 +222,8 @@
+ aset = new GAAlleleSet<T>[1];
+ aset[0] = s;
+
+- initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
+- mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
++ GAGenome::initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
++ GAGenome::mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
+ comparator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_COMPARATOR);
+ crossover(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_CROSSOVER);
+ }
+@@ -238,8 +238,8 @@
+ for(int i=0; i<naset; i++)
+ aset[i] = sa.set(i);
+
+- initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
+- mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
++ GAGenome::initializer(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_INITIALIZER);
++ GAGenome::mutator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_MUTATOR);
+ comparator(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_COMPARATOR);
+ crossover(GA1DArrayAlleleGenome<T>::DEFAULT_1DARRAY_ALLELE_CROSSOVER);
+ }
+--- a/ga/GA2DArrayGenome.C
++++ b/ga/GA2DArrayGenome.C
+@@ -269,10 +269,10 @@
+ aset = new GAAlleleSet<T>[1];
+ aset[0] = s;
+
+- initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
+- mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
+- comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
+- crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
++ GAGenome::initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
++ GAGenome::mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
++ GAGenome::comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
++ GAGenome::crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
+ }
+
+ template <class T>
+@@ -286,10 +286,10 @@
+ for(int i=0; i<naset; i++)
+ aset[i] = sa.set(i);
+
+- initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
+- mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
+- comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
+- crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
++ GAGenome::initializer(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_INITIALIZER);
++ GAGenome::mutator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_MUTATOR);
++ GAGenome::comparator(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_COMPARATOR);
++ GAGenome::crossover(GA2DArrayAlleleGenome<T>::DEFAULT_2DARRAY_ALLELE_CROSSOVER);
+ }
+
+
+--- a/ga/GA3DArrayGenome.C
++++ b/ga/GA3DArrayGenome.C
+@@ -322,8 +322,8 @@
+ aset = new GAAlleleSet<T>[1];
+ aset[0] = s;
+
+- initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
+- mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
++ GAGenome::initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
++ GAGenome::mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
+ comparator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_COMPARATOR);
+ crossover(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_CROSSOVER);
+ }
+@@ -339,8 +339,8 @@
+ for(int i=0; i<naset; i++)
+ aset[i] = sa.set(i);
+
+- initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
+- mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
++ GAGenome::initializer(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_INITIALIZER);
++ GAGenome::mutator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_MUTATOR);
+ comparator(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_COMPARATOR);
+ crossover(GA3DArrayAlleleGenome<T>::DEFAULT_3DARRAY_ALLELE_CROSSOVER);
+ }