summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/normaliz')
-rw-r--r--sci-mathematics/normaliz/Manifest1
-rw-r--r--sci-mathematics/normaliz/files/normaliz-2.12.1-respect-flags.patch47
-rw-r--r--sci-mathematics/normaliz/files/normaliz-2.12.2-gcc49.patch11
-rw-r--r--sci-mathematics/normaliz/metadata.xml17
-rw-r--r--sci-mathematics/normaliz/normaliz-2.12.2.ebuild64
5 files changed, 140 insertions, 0 deletions
diff --git a/sci-mathematics/normaliz/Manifest b/sci-mathematics/normaliz/Manifest
new file mode 100644
index 000000000000..34b83e0618e5
--- /dev/null
+++ b/sci-mathematics/normaliz/Manifest
@@ -0,0 +1 @@
+DIST Normaliz2.12.2.zip 6432949 SHA256 230772425b3c9964b9e144c0919c75fac0ec95260a1943c10a8a94eea9d7273e SHA512 fd42071cb87b8efbaf9af0885c173a0583e0b38dedb8821a83225eeebb44060a7b5748c44adfc4faeac20c3a1706071bcb9883cb4447e4a1ff3aeb770bd22038 WHIRLPOOL cb2974e02eac6e6d51c234214a719a24ad2e12d1400f0a6f8aee3e7a4ba3aa2ba053beec65c9032f42726e4dd4f1866820bb5b7b96f7c3d34cd132fcdbdb91af
diff --git a/sci-mathematics/normaliz/files/normaliz-2.12.1-respect-flags.patch b/sci-mathematics/normaliz/files/normaliz-2.12.1-respect-flags.patch
new file mode 100644
index 000000000000..d7d83ee79d91
--- /dev/null
+++ b/sci-mathematics/normaliz/files/normaliz-2.12.1-respect-flags.patch
@@ -0,0 +1,47 @@
+diff -U 3 -dHrN Normaliz2.12/source/Makefile Normaliz2.12.patched/source/Makefile
+--- Normaliz2.12/source/Makefile 2014-10-23 15:01:56.000000000 +0200
++++ Normaliz2.12.patched/source/Makefile 2014-10-25 14:56:39.426295174 +0200
+@@ -17,16 +17,16 @@
+ @$(MAKE) normaliz
+
+ normaliz.o: $(SOURCES) $(HEADERS) $(LIBHEADERS)
+- $(CXX) $(CXXFLAGS) $(NORMFLAGS) -c Normaliz.cpp -o normaliz.o
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -c Normaliz.cpp -o normaliz.o
+
+ normaliz: $(SOURCES) $(HEADERS) normaliz.o libnormaliz/libnormaliz.a
+- $(CXX) $(CXXFLAGS) $(NORMFLAGS) normaliz.o libnormaliz/libnormaliz.a $(GMPFLAGS) -o normaliz
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) normaliz.o libnormaliz/libnormaliz.a $(GMPFLAGS) -o normaliz
+
+ normaliz1: $(SOURCES) $(HEADERS) $(LIBHEADERS) $(LIBSOURCES)
+- $(CXX) $(CXXFLAGS) $(NORMFLAGS) Normaliz-impl.cpp $(GMPFLAGS) -o normaliz1
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) Normaliz-impl.cpp $(GMPFLAGS) -o normaliz1
+
+ normaliz-pg: $(SOURCES) $(HEADERS) $(LIBHEADERS) $(LIBSOURCES)
+- $(CXX) $(CXXFLAGS) $(NORMFLAGS) -pg Normaliz-impl.cpp $(GMPFLAGS) -o normaliz-pg
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -pg Normaliz-impl.cpp $(GMPFLAGS) -o normaliz-pg
+
+
+ #always go down the directory and let the make there check what has to be done
+diff -U 3 -dHrN Normaliz2.12/source/Makefile.configuration Normaliz2.12.patched/source/Makefile.configuration
+--- Normaliz2.12/source/Makefile.configuration 2014-10-23 15:01:56.000000000 +0200
++++ Normaliz2.12.patched/source/Makefile.configuration 2014-10-25 15:18:39.876313342 +0200
+@@ -1,11 +1,9 @@
+ ##
+ ## Makefile configuration for normaliz
+ ##
+-CXX = g++
+ #CXX = linux32 g++ -m32 -march=i686 #compile it for linux32
+ CXXFLAGS += -std=c++0x
+ CXXFLAGS += -Wall -pedantic
+-CXXFLAGS += -O3 -funroll-loops
+ #CXXFLAGS += -I /usr/local/boost_1_45_0
+ CXXFLAGS += -g ## debugging
+ #CXXFLAGS += -pg ## profiling
+@@ -19,7 +17,6 @@
+ endif
+
+ ## for distributing the executables link static (does not work for mac)
+-CXXFLAGS += -static
+ ## for almost static compilation on Mac use
+ #CXXFLAGS += -static-libgcc
+ ## make it compatible with older Mac versions
diff --git a/sci-mathematics/normaliz/files/normaliz-2.12.2-gcc49.patch b/sci-mathematics/normaliz/files/normaliz-2.12.2-gcc49.patch
new file mode 100644
index 000000000000..35a28c8cf2a3
--- /dev/null
+++ b/sci-mathematics/normaliz/files/normaliz-2.12.2-gcc49.patch
@@ -0,0 +1,11 @@
+diff -U 3 -dHrN Normaliz2.12/source/libnormaliz/general.h Normaliz2.12.patched/source/libnormaliz/general.h
+--- Normaliz2.12/source/libnormaliz/general.h 2014-10-23 15:01:56.000000000 +0200
++++ Normaliz2.12.patched/source/libnormaliz/general.h 2015-03-01 13:20:01.057017555 +0100
+@@ -27,6 +27,7 @@
+
+ #include <iostream>
+ #include <assert.h>
++#include <cstddef>
+
+ #ifdef _WIN32 //for 32 and 64 bit windows
+ #define NMZ_MPIR //always use MPIR
diff --git a/sci-mathematics/normaliz/metadata.xml b/sci-mathematics/normaliz/metadata.xml
new file mode 100644
index 000000000000..6b793e001efd
--- /dev/null
+++ b/sci-mathematics/normaliz/metadata.xml
@@ -0,0 +1,17 @@
+<?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-mathematics</herd>
+ <use>
+ <flag name="extras"> Install <pkg>sci-mathematics/Macaulay2</pkg> and <pkg>sci-mathematics/singular</pkg>
+ packages as shipped by upstream</flag>
+ </use>
+ <longdescription lang="en">
+Normaliz is a (command line) tool for computations in affine monoids, vector configurations, lattice polytopes, and
+rational cones.
+</longdescription>
+</pkgmetadata>
diff --git a/sci-mathematics/normaliz/normaliz-2.12.2.ebuild b/sci-mathematics/normaliz/normaliz-2.12.2.ebuild
new file mode 100644
index 000000000000..5a9cf0a3bf02
--- /dev/null
+++ b/sci-mathematics/normaliz/normaliz-2.12.2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils toolchain-funcs versionator
+
+MYPV=$(get_version_component_range 1-2)
+MYP="Normaliz${MYPV}"
+
+DESCRIPTION="Tool for computations in affine monoids and more"
+HOMEPAGE="http://www.mathematik.uni-osnabrueck.de/normaliz/"
+SRC_URI="http://www.mathematik.uni-osnabrueck.de/${PN}/Normaliz${PV}/Normaliz${PV}.zip"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="doc extras openmp"
+
+RDEPEND="dev-libs/gmp[cxx]"
+DEPEND="${RDEPEND}
+ app-arch/unzip
+ dev-libs/boost"
+# Only a boost header is needed -> not RDEPEND
+
+S=${WORKDIR}/${MYP}
+
+src_prepare () {
+ epatch "${FILESDIR}/${PN}-2.12.1-respect-flags.patch"
+ epatch "${FILESDIR}/${PN}-2.12.2-gcc49.patch"
+
+ # Respect users AR tool (Bug 474532)
+ sed -e "s:ar -cr:$(tc-getAR) -cr:" -i source/libnormaliz/Makefile || die
+
+ if use openmp && tc-has-openmp; then
+ export OPENMP=yes
+ else
+ export OPENMP=no
+ fi
+}
+
+src_compile(){
+ emake CXX="$(tc-getCXX)" OPENMP="${OPENMP}" -C source
+}
+
+src_install() {
+ dobin source/normaliz
+ if use doc ; then
+ dodoc doc/"Normaliz.pdf"
+ dodoc doc/"NmzIntegrate.pdf"
+ fi
+ if use extras; then
+ elog "You have selected to install extras which consist of Macaulay2"
+ elog "and Singular packages. These have been installed into "
+ elog "/usr/share/${PN}, and cannot be used without additional setup. Please refer"
+ elog "to the homepages of the respective projects for additional information."
+ elog "Note however, Gentoo's versions of Singular and Macaulay2 bring their own"
+ elog "copies of these interface packages. Usually you don't need normaliz's versions."
+ insinto "/usr/share/${PN}"
+ doins Singular/normaliz.lib
+ doins Macaulay2/Normaliz.m2
+ fi
+}