From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id DA1DB138330 for ; Sun, 25 Sep 2016 22:24:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0AECFE0A41; Sun, 25 Sep 2016 22:24:05 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id A2CC2E0A41 for ; Sun, 25 Sep 2016 22:24:04 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 70038340A38 for ; Sun, 25 Sep 2016 22:24:03 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 8F51A248D for ; Sun, 25 Sep 2016 22:24:00 +0000 (UTC) From: "David Seifert" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "David Seifert" Message-ID: <1474842203.7903e76836b83a49ddac62b9bc9c4aaa1238fbe2.soap@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sci-libs/galib/files/, sci-libs/galib/ X-VCS-Repository: repo/gentoo X-VCS-Files: sci-libs/galib/files/galib-2.4.7-Wformat-security.patch sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch sci-libs/galib/files/galib-2.4.7-fix-c++14.patch sci-libs/galib/galib-2.4.7-r1.ebuild X-VCS-Directories: sci-libs/galib/ sci-libs/galib/files/ X-VCS-Committer: soap X-VCS-Committer-Name: David Seifert X-VCS-Revision: 7903e76836b83a49ddac62b9bc9c4aaa1238fbe2 X-VCS-Branch: master Date: Sun, 25 Sep 2016 22:24:00 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: fcde24ea-75f4-4b2c-bb66-4b7af1368287 X-Archives-Hash: 5d7588536bd97b8ea2127673217495ad commit: 7903e76836b83a49ddac62b9bc9c4aaa1238fbe2 Author: David Seifert gentoo org> AuthorDate: Sun Sep 25 22:22:40 2016 +0000 Commit: David Seifert gentoo org> CommitDate: Sun Sep 25 22:23:23 2016 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7903e768 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 .../galib/files/galib-2.4.7-Wformat-security.patch | 79 ++++++++++++++++++++ .../galib/files/galib-2.4.7-fix-buildsystem.patch | 65 +++++++++++++++++ sci-libs/galib/files/galib-2.4.7-fix-c++14.patch | 85 ++++++++++++++++++++++ sci-libs/galib/galib-2.4.7-r1.ebuild | 55 ++++++++++++++ 4 files changed, 284 insertions(+) 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 00000000..faa7dcf --- /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 00000000..3ed7ad8 --- /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 00000000..babc84b --- /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[1]; + aset[0] = s; + +- initializer(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_INITIALIZER); +- mutator(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_MUTATOR); ++ GAGenome::initializer(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_INITIALIZER); ++ GAGenome::mutator(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_MUTATOR); + comparator(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_COMPARATOR); + crossover(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_CROSSOVER); + } +@@ -238,8 +238,8 @@ + for(int i=0; i::DEFAULT_1DARRAY_ALLELE_INITIALIZER); +- mutator(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_MUTATOR); ++ GAGenome::initializer(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_INITIALIZER); ++ GAGenome::mutator(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_MUTATOR); + comparator(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_COMPARATOR); + crossover(GA1DArrayAlleleGenome::DEFAULT_1DARRAY_ALLELE_CROSSOVER); + } +--- a/ga/GA2DArrayGenome.C ++++ b/ga/GA2DArrayGenome.C +@@ -269,10 +269,10 @@ + aset = new GAAlleleSet[1]; + aset[0] = s; + +- initializer(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_INITIALIZER); +- mutator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_MUTATOR); +- comparator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_COMPARATOR); +- crossover(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_CROSSOVER); ++ GAGenome::initializer(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_INITIALIZER); ++ GAGenome::mutator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_MUTATOR); ++ GAGenome::comparator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_COMPARATOR); ++ GAGenome::crossover(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_CROSSOVER); + } + + template +@@ -286,10 +286,10 @@ + for(int i=0; i::DEFAULT_2DARRAY_ALLELE_INITIALIZER); +- mutator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_MUTATOR); +- comparator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_COMPARATOR); +- crossover(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_CROSSOVER); ++ GAGenome::initializer(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_INITIALIZER); ++ GAGenome::mutator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_MUTATOR); ++ GAGenome::comparator(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_COMPARATOR); ++ GAGenome::crossover(GA2DArrayAlleleGenome::DEFAULT_2DARRAY_ALLELE_CROSSOVER); + } + + +--- a/ga/GA3DArrayGenome.C ++++ b/ga/GA3DArrayGenome.C +@@ -322,8 +322,8 @@ + aset = new GAAlleleSet[1]; + aset[0] = s; + +- initializer(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_INITIALIZER); +- mutator(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_MUTATOR); ++ GAGenome::initializer(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_INITIALIZER); ++ GAGenome::mutator(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_MUTATOR); + comparator(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_COMPARATOR); + crossover(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_CROSSOVER); + } +@@ -339,8 +339,8 @@ + for(int i=0; i::DEFAULT_3DARRAY_ALLELE_INITIALIZER); +- mutator(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_MUTATOR); ++ GAGenome::initializer(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_INITIALIZER); ++ GAGenome::mutator(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_MUTATOR); + comparator(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_COMPARATOR); + crossover(GA3DArrayAlleleGenome::DEFAULT_3DARRAY_ALLELE_CROSSOVER); + } diff --git a/sci-libs/galib/galib-2.4.7-r1.ebuild b/sci-libs/galib/galib-2.4.7-r1.ebuild new file mode 100644 index 00000000..61d387b --- /dev/null +++ b/sci-libs/galib/galib-2.4.7-r1.ebuild @@ -0,0 +1,55 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit toolchain-funcs + +MY_PV="${PV//\./}" + +DESCRIPTION="Library for genetic algorithms in C++ programs" +HOMEPAGE="http://lancet.mit.edu/ga/" +SRC_URI="http://lancet.mit.edu/ga/dist/galib${MY_PV}.tgz" + +LICENSE="BSD examples? ( GPL-2 )" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="doc examples" + +S="${WORKDIR}/${PN}${MY_PV}" + +PATCHES=( + "${FILESDIR}/${PN}-2.4.7-fix-buildsystem.patch" + "${FILESDIR}/${PN}-2.4.7-fix-c++14.patch" + "${FILESDIR}/${PN}-2.4.7-Wformat-security.patch" +) + +src_prepare() { + default + sed -e "s:/include:${EPREFIX}/usr/include:" \ + -e "s:/lib:${EPREFIX}/usr/$(get_libdir):" \ + -i makevars || die +} + +src_compile() { + emake \ + CXX="$(tc-getCXX)" \ + AR="$(tc-getAR)" \ + RANLIB="$(tc-getRANLIB)" \ + lib + emake -C examples clean +} + +src_install() { + dodir /usr/$(get_libdir) + + use doc && HTML_DOCS+=( doc/. ) + if use examples; then + dodoc -r examples + find "${ED%/}/usr/share/doc/${PF}/examples" -iname 'makefile*' -delete || die + docompress -x /usr/share/doc/${PF}/examples + fi + + default +}