Bug 231806 - [NEW PORT] math/libnormaliz: computations in affin monoids, vector configurations etc
Summary: [NEW PORT] math/libnormaliz: computations in affin monoids, vector configurat...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs mailing list
URL:
Keywords: needs-qa
Depends on: 231807
Blocks:
  Show dependency treegraph
 
Reported: 2018-09-29 19:48 UTC by Lorenzo Salvadore
Modified: 2019-03-20 16:32 UTC (History)
1 user (show)

See Also:


Attachments
shar file of libnormaliz (7.40 KB, text/plain)
2018-09-29 19:48 UTC, Lorenzo Salvadore
no flags Details
shar file of libnormaliz - correction 1 (7.38 KB, text/plain)
2018-09-30 10:09 UTC, Lorenzo Salvadore
no flags Details
shar file of libnormaliz - correction 2 (7.28 KB, text/plain)
2018-10-01 13:45 UTC, Lorenzo Salvadore
no flags Details
shar file of libnormaliz - correction 3 (7.28 KB, text/plain)
2018-10-01 17:27 UTC, Lorenzo Salvadore
no flags Details
shar file of libnormaliz - correction 4 (5.94 KB, text/plain)
2019-02-05 10:21 UTC, Lorenzo Salvadore
phascolarctos: maintainer-approval+
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Lorenzo Salvadore 2018-09-29 19:48:45 UTC
Created attachment 197605 [details]
shar file of libnormaliz

This port has an optional dependency on CoCoALib. I am providing CoCoALib too and I am going to give the link to the bug report that proposes it as new port.
Comment 1 Nathan 2018-09-30 02:46:20 UTC
Comment on attachment 197605 [details]
shar file of libnormaliz

Same revisions I suggested in bug#231807 needs to be done here

Check portlint -AC: As :
XPORTNAME=		libnormaliz
XDISTVERSIONPREFIX=	v
XDISTVERSION=		3.6.3
XCATEGORIES=		math

Doesn't look like the correct order
I believe it is:
PORTNAME
DISTVERSION
DISTVERSIONPREFIX
CATEGORIES
Comment 2 Nathan 2018-09-30 02:51:53 UTC
(In reply to Nathan from comment #1)
Nevermind on the order, it is correct, but the other suggestions linked still applies
Comment 3 Nathan 2018-09-30 02:52:56 UTC
Comment on attachment 197605 [details]
shar file of libnormaliz

${INSTALL_MAN} ${WRKSRC}/doc/Normaliz.pdf ${STAGEDIR}${DOCSDIR}

Should be 
${INSTALL_DATA} ${WRKSRC}/doc/Normaliz.pdf ${STAGEDIR}${DOCSDIR}
pdf file isn't a manpage
Comment 4 Lorenzo Salvadore 2018-09-30 10:09:41 UTC
Created attachment 197621 [details]
shar file of libnormaliz - correction 1

I have put all the options on the same line and corrected INSTALL_MAN with INSTALL_DOC. I think that was all it needed to be done.
Comment 5 Lorenzo Salvadore 2018-09-30 10:10:39 UTC
I forgot to put the link to CoCoALib. Here it is: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=231807
Comment 6 Lorenzo Salvadore 2018-10-01 13:45:53 UTC
Created attachment 197674 [details]
shar file of libnormaliz - correction 2

Style corrections following suggestions from bug #231161.
Comment 7 Lorenzo Salvadore 2018-10-01 17:27:47 UTC
Created attachment 197690 [details]
shar file of libnormaliz - correction 3

Canceled correction about Normaliz.pdf for the following reasons:
- my correction was wrong (INSTALL_DOC does not exist and indeed INSTALL_DATA is what was suggested)
- according to the handbook, "INSTALL_MAN is a command to install manpages and other documentation", hence INSTALL_MAN was right.
Comment 8 Tobias Kortkamp freebsd_committer 2019-01-22 12:40:31 UTC
Comment on attachment 197690 [details]
shar file of libnormaliz - correction 3

I do not understand what the flavors are supposed to do.  Can you
explain what the intent behind them is here?

XBUILD_WRKSRC=	${WRKSRC}/source/libnormaliz
XINSTALL_WRKSRC=	${WRKSRC}/source/libnormaliz
X
XCXXFLAGS+=	-I ${LOCALBASE}/include
XMAKEFILE=	Makefile.classic

These are all framework variables and in the wrong place.

XHEADERSDIR=	${PREFIX}/include/libnormaliz

This custom variable is only used twice.  Maybe inline it instead.

X	for x in 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; do ${INSTALL_DATA} ${INSTALL_WRKSRC}/$$x ${STAGEDIR}${HEADERSDIR}; done

It would be better to use a .for loop here, or even without
one at all like

	cd ${INSTALL_WRKSRC} && ${INSTALL_DATA} cone.h cone_propery.h ... ${STAGEDIR}${PREFIX}/include/libnormaliz

pkg-plist is badly ordered.  Please use the order as output by `make
makeplist`.
Comment 9 Tobias Kortkamp freebsd_committer 2019-02-05 07:27:34 UTC
Please reopen when you have time to address comment #8.
Comment 10 Lorenzo Salvadore 2019-02-05 10:21:48 UTC
Created attachment 201750 [details]
shar file of libnormaliz - correction 4

Sorry, I have been very busy in the last months (and I still am) and I forgot about this new port.

I did all the changes you asked.

As for flavors, it was a mistake and I removed it (this was one of the first ports I created). The problem is that libnormaliz has an optional circular dependency with cocoalib (another new port I submitted, bug #231807) and I thought flavors should be used to solve it, but the problem can be solved in an easier way with a simple option (disabled by default).
I did the same mistake with the cocoalib port. I will correct it as soon as possible (today or tomorrow), but in the meantime the port probably will not work with the COCOA option enabled.
Comment 11 Lorenzo Salvadore 2019-02-05 10:23:31 UTC
Reopens the bug report as requested.
Comment 12 Lorenzo Salvadore 2019-02-05 13:26:09 UTC
I made the needed corrections in bug #231807.
Comment 13 Tobias Kortkamp freebsd_committer 2019-02-08 14:56:56 UTC
Giving back to pool to free it up for other committers too.  This is blocked by
bug #231807 and bug #231208 by transitivity at the moment.
Comment 14 commit-hook freebsd_committer 2019-03-20 16:31:58 UTC
A commit references this bug:

Author: swills
Date: Wed Mar 20 16:31:33 UTC 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>

Changes:
  head/math/Makefile
  head/math/libnormaliz/
  head/math/libnormaliz/Makefile
  head/math/libnormaliz/distinfo
  head/math/libnormaliz/files/
  head/math/libnormaliz/files/patch-source_libnormaliz_Makefile.classic
  head/math/libnormaliz/files/patch-source_libnormaliz_nmz__integral.cpp
  head/math/libnormaliz/pkg-descr
  head/math/libnormaliz/pkg-plist
Comment 15 Steve Wills freebsd_committer 2019-03-20 16:32:58 UTC
Committed, thanks!