summaryrefslogtreecommitdiff
path: root/sci-libs/galib
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-libs/galib
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-libs/galib')
-rw-r--r--sci-libs/galib/Manifest8
-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
-rw-r--r--sci-libs/galib/galib-2.4.7-r1.ebuild54
-rw-r--r--sci-libs/galib/metadata.xml13
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>