diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/galib |
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/galib')
-rw-r--r-- | sci-libs/galib/Manifest | 8 | ||||
-rw-r--r-- | sci-libs/galib/files/galib-2.4.7-Wformat-security.patch | 79 | ||||
-rw-r--r-- | sci-libs/galib/files/galib-2.4.7-fix-buildsystem.patch | 65 | ||||
-rw-r--r-- | sci-libs/galib/files/galib-2.4.7-fix-c++14.patch | 85 | ||||
-rw-r--r-- | sci-libs/galib/galib-2.4.7-r1.ebuild | 54 | ||||
-rw-r--r-- | sci-libs/galib/metadata.xml | 13 |
6 files changed, 304 insertions, 0 deletions
diff --git a/sci-libs/galib/Manifest b/sci-libs/galib/Manifest new file mode 100644 index 000000000000..0b49ac0cd072 --- /dev/null +++ b/sci-libs/galib/Manifest @@ -0,0 +1,8 @@ +AUX galib-2.4.7-Wformat-security.patch 1804 SHA256 0fadf7504baa91f699759a8ac9ff739873160cf714bb28a7d370ced4c8b84c3b SHA512 6846b2b15f8b348dfc83a7df6688e0c92ab5aa3eb2a6ff113609756cdcb12a679c82af730aebbdba5f9496c439e1e27cc9549812fd77ff9a6ca55812ff756dfb WHIRLPOOL dfa7978c76657f12727795d35f32d5186997abe4631873d8d7d87d0a4a4486358d4a1539fd3b11bd59ce63a79dc05e49cc567877aa60707c69466735f5363e9b +AUX galib-2.4.7-fix-buildsystem.patch 1576 SHA256 2f0b9cbdf03086aea86e28766777d55460a57a57c2040b44897ae02eebb5a135 SHA512 26c8634664b75ef94028dfbf51dce5417256290703f3717ce2fcf660b166012622db97447a7272781c44d02b3d1728470a0f64d4b1a089ad5e4d44eaebcf3004 WHIRLPOOL 9f999d456f6b444e6f4fe0ff37f44be2fa4c53e339f4e0507f0295ca02912f2229d21a0209b91404af5e4ad9dd5f6fe813dd9460ede783f386196e4f553d2c1b +AUX galib-2.4.7-fix-c++14.patch 3951 SHA256 7c6a7e8b470d69648397520e6c616a69b64eb6457e14a5593f21b3dc5176a88a SHA512 2f843b121c06ee124f13cac106a492f495c2043a54030ebc7d67ccf386ea1eacd72dc14e5a4f925d0c1f345038d8d04ed6de96b0030bcb205714afed1e7103f4 WHIRLPOOL cc44c60680df797257530a95fb8506b102ebc6787d3e2c18bebe220a06c484d10415f42a76b6ac11a5a73e0ba0d86fb83bfe7a16a09eb313f793a1b4c9f82417 +DIST galib247.tgz 374912 SHA256 ea76b66ce4db4db2ed86e20d6d3ff144abaf73e33620104246639d9b2a465329 SHA512 9c2aca29f24d3f8401ba65c246a0ca7d1fa67e4f756a5258cdb0da111842ea2903c2d70cfd9d60823c9703bcb3415ca670a731924e99878d5536c2f7eb0faba4 WHIRLPOOL 027e1d8999bb09e31da717fb3fb84f023d4488cc161c173e55fdc545b58583f386b6bb9cab631c30f84eae8a8b58c4e669049507bc0ca8561a8ecfba2e57f480 +EBUILD galib-2.4.7-r1.ebuild 1147 SHA256 392b533ce8079ffcc9655b0866ae8f66b09e1e357d004d4d1ed96ac03a8a84df SHA512 746a8c18f69f76f64696831bda7bb1759312b541885d0e982db54107ea4d9f6567f7b22cb0b5d3e3a32c7c203371282332656e70492c107f8d18b68b4337c0e6 WHIRLPOOL c2c4a5d56ce7525a81fcdf8b16b4a544ac968564dc37f59a87b2dc06ca3677e1fabd451fb3b5ebf6239500d3ce20c30dd6496ba9b5eeba24e0eb3c0f29f10b10 +MISC ChangeLog 2994 SHA256 441353b17265bf71a110648cd7002055ecfa6f7f57a739c4d038e31ad9549397 SHA512 4490686872587b8b27ee8ebc1f52b563cd9c47285e41afafa6e4fc9060f9655380a4b7769d5fe5f38047f0cbf71174053c0c8e37ea40af67da8b21f60be22188 WHIRLPOOL 5573e74fb9f9d6269747a7054a6cef18e225ffd70214502e5419e9437a5bfa1b3366c4c43755d33c2f6bd27630001e8a6e934bdd6cf57937851d908a01d38103 +MISC ChangeLog-2015 2227 SHA256 89fff5b8f076131ae76cb0127377949a54100eff7e644d87372a0c0d3603340c SHA512 0d2841f7e9de22ef636b75c64a129ef04cf54569a6ab441e3f8e593f29c555e275ed0d0edc0cbddc0da2bd916c943605a32627c0b7b034bcfc6b430700eb0877 WHIRLPOOL ff8abaa66b96a07c450555ed291f4bfd16650223497cf14625eb52831b52f4e4ef4a946fa85ba5ae7d55e3c020f2fcdc382025b7e6892686c38335136992250a +MISC metadata.xml 505 SHA256 b6ea03858b104ea5903f96e3718d6ee5a04d5601a45d1978bf5b0824301a3e73 SHA512 52b06bc61b4bb82f35309d4aae723cd4d1a0acb15204b9f28900b43c2def46f152444d7838eb5b4c5351a8a3a0075559c29e2ef438bc049b7fa3bd3689bd9192 WHIRLPOOL 2c1e03200b33058f288313d4269aee90472134cb41fdd13d7c2e0abf5a1c204cdd0e48703527975bbb4133b4bc67fa7d12f468c982338ed3a679e5173d3f1d86 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); + } 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 000000000000..5209af1c4c9d --- /dev/null +++ b/sci-libs/galib/galib-2.4.7-r1.ebuild @@ -0,0 +1,54 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +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 +} diff --git a/sci-libs/galib/metadata.xml b/sci-libs/galib/metadata.xml new file mode 100644 index 000000000000..c5d86554ee6d --- /dev/null +++ b/sci-libs/galib/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> + GAlib contains a set of C++ genetic algorithm objects. The library + includes tools for using genetic algorithms to do optimization in + any C++ program using any representation and genetic operators. + </longdescription> +</pkgmetadata> |