summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/frobby')
-rw-r--r--sci-mathematics/frobby/Manifest1
-rw-r--r--sci-mathematics/frobby/files/frobby-cflags-no-strip-soname.patch47
-rw-r--r--sci-mathematics/frobby/files/frobby-gcc-4.7.patch32
-rw-r--r--sci-mathematics/frobby/files/frobby-gmp-5.1.patch12
-rw-r--r--sci-mathematics/frobby/frobby-0.9.0-r1.ebuild55
-rw-r--r--sci-mathematics/frobby/metadata.xml12
6 files changed, 159 insertions, 0 deletions
diff --git a/sci-mathematics/frobby/Manifest b/sci-mathematics/frobby/Manifest
new file mode 100644
index 000000000000..b2c0528d8edb
--- /dev/null
+++ b/sci-mathematics/frobby/Manifest
@@ -0,0 +1 @@
+DIST frobby_v0.9.0.tar.gz 852524 SHA256 af092383e6dc849c86f4e79747ae0e5cd309a690747230e10aa38d60640062df SHA512 b1f64d7a8630ba7f5464e36f66a06a7a7909bc42f2e52898b2967b8ad6288da8ce11a5d79ebfbbfe2f3933930ad26444173f721465ae9a42b6dcf3eef7ecc59e WHIRLPOOL f02c6c794c214c047ae6e1d764b0a29a87be1c080e8ac7489aedb1394a90169f8dc5bb6447c961760a35ba2af90c34ed9bb8e282590d0d05abe791aff7473025
diff --git a/sci-mathematics/frobby/files/frobby-cflags-no-strip-soname.patch b/sci-mathematics/frobby/files/frobby-cflags-no-strip-soname.patch
new file mode 100644
index 000000000000..2f5721d62a71
--- /dev/null
+++ b/sci-mathematics/frobby/files/frobby-cflags-no-strip-soname.patch
@@ -0,0 +1,47 @@
+diff -U 3 -dHrN frobby_v0.9.0.orig/Makefile frobby_v0.9.0/Makefile
+--- frobby_v0.9.0.orig/Makefile 2013-01-15 22:40:13.127937655 +0100
++++ frobby_v0.9.0/Makefile 2013-02-16 10:54:42.265322522 +0100
+@@ -70,7 +70,7 @@
+ BIN_INSTALL_DIR = "/usr/local/bin/"
+ endif
+
+-cflags = $(CFLAGS) $(CPPFLAGS) -Wall -ansi -pedantic -I $(GMP_INC_DIR) \
++cflags = $(CPPFLAGS) -Wall -ansi -pedantic -I $(GMP_INC_DIR) \
+ -Wno-uninitialized -Wno-unused-parameter
+ program = frobby
+ library = libfrobby.a
+@@ -87,7 +87,6 @@
+ MATCH=false
+ ifeq ($(MODE), release)
+ outdir = bin/release/
+- cflags += -O2
+ MATCH=true
+ endif
+ ifeq ($(MODE), debug)
+@@ -99,7 +98,7 @@
+ endif
+ ifeq ($(MODE), shared)
+ outdir = bin/shared/
+- cflags += -O2 -fPIC
++ cflags += -fPIC
+ library = libfrobby.so
+ MATCH=true
+ endif
+@@ -204,16 +203,13 @@
+ mv -f $@.exe $@; \
+ fi
+ endif
+-ifeq ($(MODE), release)
+- strip $@
+-endif
+
+ # Link object files into library
+ library: bin/$(library)
+ bin/$(library): $(objs) | bin/
+ rm -f bin/$(library)
+ ifeq ($(MODE), shared)
+- $(CXX) -shared -o bin/$(library) $(ldflags) \
++ $(CXX) -shared -Wl,-soname,libfrobby.so.0 -o bin/$(library) $(ldflags) \
+ $(patsubst $(outdir)main.o,,$(objs))
+ else
+ ar crs bin/$(library) $(patsubst $(outdir)main.o,,$(objs))
diff --git a/sci-mathematics/frobby/files/frobby-gcc-4.7.patch b/sci-mathematics/frobby/files/frobby-gcc-4.7.patch
new file mode 100644
index 000000000000..4a73161166d9
--- /dev/null
+++ b/sci-mathematics/frobby/files/frobby-gcc-4.7.patch
@@ -0,0 +1,32 @@
+ src/main.cpp | 3 +++
+ src/randomDataGenerators.cpp | 3 +++
+ 2 files changed, 6 insertions(+), 0 deletions(-)
+
+diff --git a/src/main.cpp b/src/main.cpp
+index a16754e..315ea53 100755
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -25,6 +25,9 @@
+ #include <ctime>
+ #include <cstdlib>
+
++#include <sys/types.h>
++#include <unistd.h>
++
+ /** This function runs the Frobby console interface. the ::main
+ function calls this function after having set up DEBUG-specific
+ things, catching exceptions, setting the random seed and so on.
+diff --git a/src/randomDataGenerators.cpp b/src/randomDataGenerators.cpp
+index 432a90a..1de3559 100755
+--- a/src/randomDataGenerators.cpp
++++ b/src/randomDataGenerators.cpp
+@@ -26,6 +26,9 @@
+ #include <limits>
+ #include <ctime>
+
++#include <sys/types.h>
++#include <unistd.h>
++
+ void generateLinkedListIdeal(BigIdeal& ideal, size_t variableCount) {
+ VarNames names(variableCount);
+ ideal.clearAndSetNames(variableCount);
diff --git a/sci-mathematics/frobby/files/frobby-gmp-5.1.patch b/sci-mathematics/frobby/files/frobby-gmp-5.1.patch
new file mode 100644
index 000000000000..23cf295b8965
--- /dev/null
+++ b/sci-mathematics/frobby/files/frobby-gmp-5.1.patch
@@ -0,0 +1,12 @@
+diff -U 3 -dHrN frobby_v0.9.0.orig/src/StatisticsStrategy.cpp frobby_v0.9.0/src/StatisticsStrategy.cpp
+--- frobby_v0.9.0.orig/src/StatisticsStrategy.cpp 2013-01-15 22:40:13.186967442 +0100
++++ frobby_v0.9.0/src/StatisticsStrategy.cpp 2013-01-15 22:40:33.267100780 +0100
+@@ -140,7 +140,7 @@
+ if (_nodeCount == 0)
+ return 0.0;
+ else {
+- mpz_class q = mpq_class(_subGenSum) / _nodeCount;
++ mpq_class q = mpq_class(_subGenSum) / _nodeCount;
+ return q.get_d();
+ }
+ }
diff --git a/sci-mathematics/frobby/frobby-0.9.0-r1.ebuild b/sci-mathematics/frobby/frobby-0.9.0-r1.ebuild
new file mode 100644
index 000000000000..72bcfe713550
--- /dev/null
+++ b/sci-mathematics/frobby/frobby-0.9.0-r1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Software system and project for computations with monomial ideals"
+HOMEPAGE="http://www.broune.com/frobby/"
+SRC_URI="http://www.broune.com/frobby/frobby_v${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc static-libs"
+
+RDEPEND="dev-libs/gmp[cxx]"
+DEPEND="${RDEPEND}
+ doc? ( virtual/latex-base )"
+
+S="${WORKDIR}/frobby_v${PV}"
+
+src_prepare() {
+ epatch \
+ "${FILESDIR}/${PN}-cflags-no-strip-soname.patch" \
+ "${FILESDIR}/${PN}-gcc-4.7.patch" \
+ "${FILESDIR}/${PN}-gmp-5.1.patch"
+ # CXXFLAGS are called CPPFLAGS
+ sed "s/CPPFLAGS/CXXFLAGS/" -i Makefile || die
+}
+
+src_compile() {
+ # Makefile uses the value of CXX which may be defined in /etc/env,
+ # breaking cross-compile.
+ CXX=$(tc-getCXX) emake
+ MODE=shared CXX=$(tc-getCXX) emake library
+ use static-libs && CXX=$(tc-getCXX) emake library
+ use doc && emake docPdf
+}
+
+src_install() {
+ dobin bin/frobby
+ dolib.so bin/libfrobby.so
+ dosym libfrobby.so "${PREFIX}/usr/$(get_libdir)/libfrobby.so.0"
+ use static-libs && dolib.a bin/libfrobby.a
+
+ insinto /usr/include
+ doins src/frobby.h
+
+ insinto /usr/include/"${PN}"
+ doins src/stdinc.h
+
+ use doc && dodoc bin/manual.pdf
+}
diff --git a/sci-mathematics/frobby/metadata.xml b/sci-mathematics/frobby/metadata.xml
new file mode 100644
index 000000000000..4e93bbb7622c
--- /dev/null
+++ b/sci-mathematics/frobby/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>tomka@gentoo.org</email>
+ <name>Thomas Kahle</name>
+ </maintainer>
+ <herd>sci</herd>
+ <longdescription lang="en">
+Frobby is a software system and library for computations with monomial ideals.
+</longdescription>
+</pkgmetadata>