Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Mar 2019 16:31:32 +0000 (UTC)
From:      Steve Wills <swills@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r496352 - in head/math: . libnormaliz libnormaliz/files
Message-ID:  <201903201631.x2KGVW4b088318@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: swills
Date: Wed Mar 20 16:31:32 2019
New Revision: 496352
URL: https://svnweb.freebsd.org/changeset/ports/496352

Log:
  math/libnormaliz: create port
  
  Normaliz is an open source tool for computations in affine monoids,
  vector configurations, lattice polytopes, and rational cones.
  
  Computation goals:
  - convex hulls and dual cones;
  - conversion from generators to constraints and vice versa;
  - projections of cones and polyhedra;
  - triangulations, disjoint decompositions and Stanley decompositions;
  - Hilbert basis of rational, not necessarily pointed cones;
  - normalization of affine monoids;
  - lattice points of rational polytopes and (unbounded) polyhedra;
  - Euclidean and lattice normalized volumes of polytopes;
  - Hilbert (or Ehrhart) series and (quasi) polynomials under Z-gradings
  (for example, for rational polytopes);
  - generalized (or weighted) Ehrhart series and Lebesgue integrals of
  polynomials over rational polytopes.
  
  WWW: https://www.normaliz.uni-osnabrueck.de
  
  PR:		231806
  Submitted by:	Lorenzo Salvadore <phascolarctos@protonmail.ch>

Added:
  head/math/libnormaliz/
  head/math/libnormaliz/Makefile   (contents, props changed)
  head/math/libnormaliz/distinfo   (contents, props changed)
  head/math/libnormaliz/files/
  head/math/libnormaliz/files/patch-source_libnormaliz_Makefile.classic   (contents, props changed)
  head/math/libnormaliz/files/patch-source_libnormaliz_nmz__integral.cpp   (contents, props changed)
  head/math/libnormaliz/pkg-descr   (contents, props changed)
  head/math/libnormaliz/pkg-plist   (contents, props changed)
Modified:
  head/math/Makefile   (contents, props changed)

Modified: head/math/Makefile
==============================================================================
--- head/math/Makefile	Wed Mar 20 16:31:19 2019	(r496351)
+++ head/math/Makefile	Wed Mar 20 16:31:32 2019	(r496352)
@@ -334,6 +334,7 @@
     SUBDIR += liblbfgs
     SUBDIR += libmesh
     SUBDIR += libmissing
+    SUBDIR += libnormaliz
     SUBDIR += libocas
     SUBDIR += liborigin
     SUBDIR += libpgmath

Added: head/math/libnormaliz/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/libnormaliz/Makefile	Wed Mar 20 16:31:32 2019	(r496352)
@@ -0,0 +1,50 @@
+# $FreeBSD$
+
+PORTNAME=		libnormaliz
+DISTVERSIONPREFIX=	v
+DISTVERSION=		3.6.3
+CATEGORIES=		math
+
+MAINTAINER=	phascolarctos@protonmail.ch
+COMMENT=	Computations in affin monoids, vector configurations etc
+
+LICENSE=	GPLv3+
+LICENSE_FILE=	${WRKSRC}/COPYING
+
+BUILD_DEPENDS=	${LOCALBASE}/include/boost/dynamic_bitset.hpp:devel/boost-libs \
+		${LOCALBASE}/include/gmpxx.h:math/gmp
+
+USES=		gmake
+USE_GITHUB=	yes
+
+GH_ACCOUNT=	Normaliz
+GH_PROJECT=	Normaliz
+
+BUILD_WRKSRC=	${WRKSRC}/source/libnormaliz
+INSTALL_WRKSRC=	${WRKSRC}/source/libnormaliz
+
+CXXFLAGS+=	-I ${LOCALBASE}/include
+MAKEFILE=	Makefile.classic
+
+OPTIONS_DEFINE=		COCOA DOCS FLINT OPENMP
+COCOA_DESC=		Link with libcocoa.a (might cause circular dependency)
+FLINT_DESC=		Link with libflint.a
+COCOA_BUILD_DEPENDS=	${LOCALBASE}/lib/libcocoa.a:math/cocoalib
+COCOA_CXXFLAGS=		-DNMZ_COCOA -DCoCoA_THREADSAFE_HACK
+COCOA_LDFLAGS=		${LOCALBASE}/lib -lcocoa
+FLINT_BUILD_DEPENDS=	${LOCALBASE}/lib/libflint.so:math/flint2
+FLINT_CXXFLAGS=		-DNMZ_FLINT
+FLINT_LDFLAGS=		-L ${LOCALBASE}/lib -lflint -lmpfr
+OPENMP_BUILD_DEPENDS=	${LOCALBASE}/lib/libomp.so:devel/openmp
+OPENMP_CXXFLAGS=	-fopenmp
+
+do-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/include/libnormaliz
+	${INSTALL_DATA}	${INSTALL_WRKSRC}/libnormaliz.a ${STAGEDIR}${PREFIX}/lib
+	cd ${INSTALL_WRKSRC} && ${INSTALL_DATA} cone.h cone_property.h convert.h general.h HilbertSeries.h integer.h libnormaliz.h map_operations.h matrix.h my_omp.h normaliz_exception.h sublattice_representation.h vector_operations.h version.h nmz_integrate.h ${STAGEDIR}${PREFIX}/include/libnormaliz
+
+post-install-DOCS-on:
+	${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_MAN} ${WRKSRC}/doc/Normaliz.pdf ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>

Added: head/math/libnormaliz/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/libnormaliz/distinfo	Wed Mar 20 16:31:32 2019	(r496352)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1536314303
+SHA256 (Normaliz-Normaliz-v3.6.3_GH0.tar.gz) = 1c3dad1f5256c92dde21b0eea1423afe95d98863c90f5e4cb429ffa71ba57f54
+SIZE (Normaliz-Normaliz-v3.6.3_GH0.tar.gz) = 9923720

Added: head/math/libnormaliz/files/patch-source_libnormaliz_Makefile.classic
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/libnormaliz/files/patch-source_libnormaliz_Makefile.classic	Wed Mar 20 16:31:32 2019	(r496352)
@@ -0,0 +1,10 @@
+--- source/libnormaliz/Makefile.classic.orig	2018-08-21 13:25:10 UTC
++++ source/libnormaliz/Makefile.classic
+@@ -1,7 +1,6 @@
+ ##
+ ## Makefile for libnormaliz
+ ##
+-include ../Makefile.configuration
+ 
+ INSTALLHDRS = cone.h cone_property.h convert.h general.h HilbertSeries.h integer.h libnormaliz.h map_operations.h matrix.h my_omp.h normaliz_exception.h sublattice_representation.h vector_operations.h version.h nmz_integrate.h
+ 

Added: head/math/libnormaliz/files/patch-source_libnormaliz_nmz__integral.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/libnormaliz/files/patch-source_libnormaliz_nmz__integral.cpp	Wed Mar 20 16:31:32 2019	(r496352)
@@ -0,0 +1,11 @@
+--- source/libnormaliz/nmz_integral.cpp.orig	2018-09-25 05:50:07 UTC
++++ source/libnormaliz/nmz_integral.cpp
+@@ -403,7 +403,7 @@ try{
+   vector<Integer> test_grading=C.getSublattice().to_sublattice_dual_no_div(C.getGrading());
+   Integer corr_factor=v_gcd(test_grading);  
+   mpz_class corr_mpz=convertTo<mpz_class>(corr_factor);
+-  I*=BigInt(corr_mpz.get_mpz_t());  
++  I*=BigIntFromMPZ(corr_mpz.get_mpz_t());  
+   
+   string result="Integral";
+   if(do_virt_mult)

Added: head/math/libnormaliz/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/libnormaliz/pkg-descr	Wed Mar 20 16:31:32 2019	(r496352)
@@ -0,0 +1,18 @@
+Normaliz is an open source tool for computations in affine monoids,
+vector configurations, lattice polytopes, and rational cones.
+
+Computation goals:
+- convex hulls and dual cones;
+- conversion from generators to constraints and vice versa;
+- projections of cones and polyhedra;
+- triangulations, disjoint decompositions and Stanley decompositions;
+- Hilbert basis of rational, not necessarily pointed cones;
+- normalization of affine monoids;
+- lattice points of rational polytopes and (unbounded) polyhedra;
+- Euclidean and lattice normalized volumes of polytopes;
+- Hilbert (or Ehrhart) series and (quasi) polynomials under Z-gradings
+(for example, for rational polytopes);
+- generalized (or weighted) Ehrhart series and Lebesgue integrals of
+polynomials over rational polytopes.
+
+WWW: https://www.normaliz.uni-osnabrueck.de

Added: head/math/libnormaliz/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/math/libnormaliz/pkg-plist	Wed Mar 20 16:31:32 2019	(r496352)
@@ -0,0 +1,17 @@
+include/libnormaliz/HilbertSeries.h
+include/libnormaliz/cone.h
+include/libnormaliz/cone_property.h
+include/libnormaliz/convert.h
+include/libnormaliz/general.h
+include/libnormaliz/integer.h
+include/libnormaliz/libnormaliz.h
+include/libnormaliz/map_operations.h
+include/libnormaliz/matrix.h
+include/libnormaliz/my_omp.h
+include/libnormaliz/nmz_integrate.h
+include/libnormaliz/normaliz_exception.h
+include/libnormaliz/sublattice_representation.h
+include/libnormaliz/vector_operations.h
+include/libnormaliz/version.h
+lib/libnormaliz.a
+%%PORTDOCS%%%%DOCSDIR%%/Normaliz.pdf



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201903201631.x2KGVW4b088318>