math/frobby: Improve port and adopt again

- Reorder variables.
- Simplify port by introducing USES= localbase:ldflags.
- Set ALL_TARGET= # Empty to avoid defining do-build.
- Remove BINARY_ALIAS: patch Makefile instead.
- Always install executable, remove corresponding option, rename
  EXEDOCS option to DOCS.
- Always install shared library, remove corresponding option.
- Install static library with INSTALL_DATA and shared library with
  INSTALL_LIB.
- Improve shared library management by using an upstream patch. This
  also solves a poudriere warning about libfrobby.so.0 not having a
  SONAME.
- Remove outdated warnings about failing tests.
- Fix LIBDOCS dependencies.
- Remove pkg-help file, which does not contain any useful information
  any more.
- Fix pkg-plist.

Reviewed by:	diizzy thierry
Approved by:	gerald (mentor)
Differential Revision:	https://reviews.freebsd.org/D35028
This commit is contained in:
Lorenzo Salvadore 2022-04-26 13:31:50 +02:00
parent e58af116e1
commit f86da7c9da
No known key found for this signature in database
GPG key ID: B58F7C3CF6DB8A38
7 changed files with 74 additions and 196 deletions

View file

@ -1,93 +1,91 @@
PORTNAME= frobby
PORTVERSION= 0.9.5
PORTNAME= frobby
DISTVERSIONPREFIX= v
CATEGORIES= math
DISTVERSION= 0.9.5
PORTREVISION= 1
CATEGORIES= math
MAINTAINER= ports@FreeBSD.org
PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
PATCHFILES= 5b9e4ac4057f5693f53c321eeb5bfb387f6b69fb.patch:-p1
MAINTAINER= salvadore@FreeBSD.org
COMMENT= Software system and project for computations with monomial ideals
LICENSE= GPLv2+
LIB_DEPENDS= libgmp.so:math/gmp
USES= gmake shebangfix
USES= gmake localbase:ldflags shebangfix
USE_GITHUB= yes
GH_ACCOUNT= Macaulay2
BINARY_ALIAS= make=gmake
USE_LDCONFIG= yes
SHEBANG_FILES= test/testScripts/* test/runTests test/runSplitTests \
test/latticeFormats/runtest*
SHEBANG_FILES= test/latticeFormats/runtest* test/runSplitTests test/runTests \
test/testScripts/*
OPTIONS_DEFINE= EXEDOCS LIBDOCS TEST
OPTIONS_DEFAULT= STATIC SHARED
OPTIONS_MULTI= INSTALL
OPTIONS_MULTI_INSTALL= EXECUTABLE \
SHARED \
STATIC
EXEDOCS_DESC= Build and install documentation for frobby executable
LIBDOCS_DESC= Build and install documentation for frobby library
EXECUTABLE_DESC= Build and install frobby executable
SHARED_DESC= Build and install libfrobby.so
STATIC_DESC= Build and install libfrobby.a
EXEDOCS_BUILD_DEPENDS= latex:print/tex-formats \
dvips:print/tex-dvipsk
LIBDOCS_BUILD_DEPENDS= doxygen:devel/doxygen \
epstopdf:print/texlive-base
TEST_BUILD_DEPENDS= bash:shells/bash
OPTIONS_SUB= yes
MAKE_ARGS+= GMP_INC_DIR=${LOCALBASE}/include
MAKE_ENV= RANLIB=${RANLIB}
LDFLAGS+= -L${LOCALBASE}/lib
ALL_TARGET= # Empty
OPTIONS_DEFINE= DOCS LIBDOCS STATIC TEST
OPTIONS_DEFAULT= STATIC
OPTIONS_SUB= yes
LIBDOCS_DESC= Build and install documentation for frobby library
DOCS_BUILD_DEPENDS= dvips:print/tex-dvipsk \
latex:print/tex-formats
LIBDOCS_BUILD_DEPENDS= doxygen:devel/doxygen \
dvips:print/tex-dvipsk \
epstopdf:print/texlive-base \
latex:print/tex-formats
TEST_BUILD_DEPENDS= bash:shells/bash
.include <bsd.port.options.mk>
.if ${PORT_OPTIONS:MSHARED} || ${PORT_OPTIONS:MSTATIC}
PLIST_SUB+= LIBRARY="" NO_LIBRARY="@comment "
.if ${PORT_OPTIONS:MSTATIC}
PLIST_SUB+= LIBRARY="" \
NO_LIBRARY="@comment "
.else
PLIST_SUB+= LIBRARY="@comment " NO_LIBRARY=""
PLIST_SUB+= LIBRARY="@comment " \
NO_LIBRARY=""
.endif
do-build:
# The following variables should be defined to the same values
# that can be found in ${WRKSRC}/Makefile
FROBBY_SOVERSION= 1
FROBBY_AGE= 0
FROBBY_REVISION= 0
FROBBY_VERSION= ${FROBBY_SOVERSION}.${FROBBY_AGE}.${FROBBY_REVISION}
do-build-EXEDOCS-on:
do-build-DOCS-on:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} doc
do-build-EXECUTABLE-on:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS}
do-build-LIBDOCS-on:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} develDoc
do-build-STATIC-on:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} library
post-build-SHARED-on:
post-build:
cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE_CMD} ${MAKE_ARGS} MODE=shared library
post-build-TEST-on: do-build-EXECUTABLE-on
post-build-TEST-on:
cd ${WRKSRC} && test/runTests _full
cd ${WRKSRC} && test/runSplitTests _full
do-install:
do-install-EXECUTABLE-on:
${INSTALL_PROGRAM} ${WRKSRC}/bin/release/frobby ${STAGEDIR}${PREFIX}/bin
do-install-SHARED-on:
${INSTALL_DATA} ${WRKSRC}/src/frobby.h ${STAGEDIR}${PREFIX}/include
${INSTALL_DATA} ${WRKSRC}/bin/libfrobby.so ${STAGEDIR}${PREFIX}/lib/libfrobby.so.0
cd ${STAGEDIR}${PREFIX}/lib && \
${LN} -sf libfrobby.so.0 ${STAGEDIR}${PREFIX}/lib/libfrobby.so
${INSTALL_LIB} ${WRKSRC}/bin/libfrobby.so.${FROBBY_VERSION} ${STAGEDIR}${PREFIX}/lib/libfrobby.so.${FROBBY_VERSION}
cd ${STAGEDIR}${PREFIX}/lib && \
${RLN} libfrobby.so.${FROBBY_VERSION} ${STAGEDIR}${PREFIX}/lib/libfrobby.so && \
${RLN} libfrobby.so.${FROBBY_VERSION} ${STAGEDIR}${PREFIX}/lib/libfrobby.so.${FROBBY_SOVERSION}
do-install-STATIC-on:
${INSTALL_DATA} ${WRKSRC}/src/frobby.h ${STAGEDIR}${PREFIX}/include
${INSTALL_LIB} ${WRKSRC}/bin/libfrobby.a ${STAGEDIR}${PREFIX}/lib
${INSTALL_DATA} ${WRKSRC}/bin/libfrobby.a ${STAGEDIR}${PREFIX}/lib
do-install-EXEDOCS-on:
do-install-DOCS-on:
${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${WRKSRC}/bin/manual.ps ${STAGEDIR}${DOCSDIR}
${INSTALL_MAN} ${WRKSRC}/bin/manual.pdf ${STAGEDIR}${DOCSDIR}

View file

@ -1,3 +1,5 @@
TIMESTAMP = 1641418085
TIMESTAMP = 1650972050
SHA256 (Macaulay2-frobby-v0.9.5_GH0.tar.gz) = 714c33c4f68e86d82062d7a42ad42c581d4b4c60d6a73ee1836ba1be7f985eb3
SIZE (Macaulay2-frobby-v0.9.5_GH0.tar.gz) = 878560
SHA256 (5b9e4ac4057f5693f53c321eeb5bfb387f6b69fb.patch) = 34f9e4d21b3733f549bf35ec8562a5a316a50251fac23c577c750db45d6f764a
SIZE (5b9e4ac4057f5693f53c321eeb5bfb387f6b69fb.patch) = 1747

View file

@ -1,6 +1,6 @@
--- Makefile.orig 2021-02-23 21:29:06 UTC
--- Makefile.orig 2022-05-03 16:32:53 UTC
+++ Makefile
@@ -99,7 +99,6 @@ endif
@@ -107,7 +107,6 @@ ifeq ($(MODE), release)
MATCH=false
ifeq ($(MODE), release)
outdir = bin/release/
@ -8,7 +8,7 @@
MATCH=true
endif
ifeq ($(MODE), debug)
@@ -111,13 +110,13 @@ ifeq ($(MODE), debug)
@@ -119,13 +118,13 @@ ifeq ($(MODE), shared)
endif
ifeq ($(MODE), shared)
outdir = bin/shared/
@ -24,3 +24,17 @@
ldflags += -pg
MATCH=true
benchArgs = _profile $(FROBBYARGS)
@@ -306,11 +305,11 @@ develDocPdf: bin/develDoc/
rm -rf bin/develDoc/latexPdf bin/develDoc/warningLog
cat doc/doxygen.conf doc/doxPdf|doxygen -
cd bin/develDoc/latexPdf; for f in `ls *.eps`; do epstopdf $$f; done # Cygwin fix
- cd bin/develDoc/latexPdf/; make refman.pdf; mv refman.pdf ../develDoc.pdf
+ cd bin/develDoc/latexPdf/; ${MAKE} refman.pdf; mv refman.pdf ../develDoc.pdf
develDocPs: bin/develDoc/
rm -rf bin/develDoc/latexPs bin/develDoc/warningLog
cat doc/doxygen.conf doc/doxPs|doxygen -
- cd bin/develDoc/latexPs/; make refman.ps; mv refman.ps ../develDoc.ps
+ cd bin/develDoc/latexPs/; ${MAKE} refman.ps; mv refman.ps ../develDoc.ps
clean: tidy
rm -rf bin

View file

@ -1,48 +0,0 @@
--- test/runSplitTests.orig 2018-09-08 10:55:55 UTC
+++ test/runSplitTests
@@ -30,6 +30,8 @@ params="$*"
testhelper=../testScripts/testhelper
paths="specialIdeals commonIdeals frob"
+failed=""
+
runTests () {
action="$1"; shift;
splits="$*";
@@ -41,8 +43,9 @@ runTests () {
for path in $paths; do
cd test/$path;
../testScripts/runtests $action $params -split $split;
- if [ $? != 0 ]; then exit 1; fi
+ if [ $? != 0 ]; then cd ../..; return 1; fi
cd ../..;
+return 0
if [ "$testLevel" = "few" ]; then
if [ "$action" != "frob" ]; then
@@ -57,19 +60,25 @@ runTests () {
for action in $bigattiActions;
do
runTests "$action" $bigattiSplits
+if [ $? -eq 1 ]; then failed="$failed $action"; continue; fi
done
for action in $labelActions;
do
runTests "$action" $labelSplits
+if [ $? -eq 1 ]; then failed="$failed $action"; continue; fi
done
for action in $pivotActions;
do
runTests "$action" $pivotSplits
+if [ $? -eq 1 ]; then failed="$failed $action"; continue; fi
done
for action in $frobActions;
do
runTests "$action" $frobSplits
+if [ $? -eq 1 ]; then failed="$failed $action"; continue; fi
done
+echo -e "\nFailed tests:$failed."
+echo "But test hilbert_bigatti was expected to fail because simplification is broken for it."

View file

@ -1,60 +0,0 @@
--- test/runTests.orig 2011-09-23 20:09:12 UTC
+++ test/runTests
@@ -15,20 +15,23 @@ normalTests="euler alexdual hilbert_deform hilbert_big
specialTests="internal idealFormats polyFormats latticeFormats messages"
params="$*"
+failed=""
runNormalTests () {
action="$1"; shift;
path="$1"; shift;
cd test/$path;
../testScripts/runtests $action $params
- if [ $? != 0 ]; then exit 1; fi
+ if [ $? != 0 ]; then cd ../..; return 1; fi
cd ../..;
+return 0
}
for t in $normalTests; do
echo -n "$t "
runNormalTests $t specialIdeals
+if [ $? -eq 1 ]; then failed="$failed $t"; continue; fi
if [ "$testLevel" = "few" ]; then
if [ "$t" != "frob" ]; then
echo;
@@ -37,15 +40,19 @@ for t in $normalTests; do
fi
runNormalTests $t commonIdeals
+if [ $? -eq 1 ]; then failed="$failed $t"; continue; fi
runNormalTests $t frob
+if [ $? -eq 1 ]; then failed="$failed $t"; continue; fi
if [ "$t" == "euler" ]; then
runNormalTests $t bigIdeals
+if [ $? -eq 1 ]; then failed="$failed $t"; continue; fi
fi
if [ -e "$t" ]; then
runNormalTests $t $t
+if [ $? -eq 1 ]; then failed="$failed $t"; continue; fi
fi
echo
@@ -56,9 +63,10 @@ do
echo -n "$t "
cd test/$t
./runtests $*
- if [ $? != 0 ]; then exit 1; fi
+ if [ $? != 0 ]; then failed="$failed $t"; continue; fi
echo
cd ../..
done
-echo "All normal tests passed."
+echo "Failed tests:$failed."
+echo "But tests hilbert_deform and hilbert_bigatti were expected to fail because simplification is broken for them."

View file

@ -1,18 +0,0 @@
If you are installing Frobby as a dependency, most probably you only
need the static library and maybe the shared library, but certainly
not the executable.
----------------------------------------------------------------------
Warning: the library documentation is very incomplete.
Warning: installing documentation might require high build times due
to heavy build dependencies.
----------------------------------------------------------------------
Warning: hilbert_deform and hilbert_bigatti tests are known to fail
because simplifications do not work for action "hilbert" with
algorithm "deform" or "bigatti", i.e. output polynomials present
expressions such as "a*b*c + a*b*c" or "a - a". Nevertheless results
seem to be correct.
Please report if you get wrong results.

View file

@ -1,6 +1,9 @@
%%EXECUTABLE%%bin/frobby
%%EXEDOCS%%%%DOCSDIR%%/manual.pdf
%%EXEDOCS%%%%DOCSDIR%%/manual.ps
bin/frobby
lib/libfrobby.so
lib/libfrobby.so.1
lib/libfrobby.so.1.0.0
%%DOCS%%%%DOCSDIR%%/manual.pdf
%%DOCS%%%%DOCSDIR%%/manual.ps
%%LIBDOCS%%%%DOCSDIR%%/develDoc.pdf
%%LIBDOCS%%%%DOCSDIR%%/develDoc.ps
%%LIBDOCS%%%%DOCSDIR%%/html/Action_8cpp_source.html
@ -757,8 +760,7 @@
%%LIBDOCS%%%%DOCSDIR%%/html/doxygen_8cpp_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/doxygen_8cpp.html
%%LIBDOCS%%%%DOCSDIR%%/html/doxygen.css
%%LIBDOCS%%%%DOCSDIR%%/html/doxygen.png
%%LIBDOCS%%%%DOCSDIR%%/html/doxygen.png
%%LIBDOCS%%%%DOCSDIR%%/html/doxygen.svg
%%LIBDOCS%%%%DOCSDIR%%/html/DynamicFrobeniusAction_8cpp_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/DynamicFrobeniusAction_8cpp.html
%%LIBDOCS%%%%DOCSDIR%%/html/DynamicFrobeniusAction_8h_source.html
@ -927,8 +929,6 @@
%%LIBDOCS%%%%DOCSDIR%%/html/FrobeniusAction_8cpp.html
%%LIBDOCS%%%%DOCSDIR%%/html/FrobeniusAction_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/FrobeniusAction_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_0x7e.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_0x7e.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_a.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_b.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_c.html
@ -937,8 +937,6 @@
%%LIBDOCS%%%%DOCSDIR%%/html/functions_enum.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_eval.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_f.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_0x7e.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_0x7e.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_a.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_b.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_c.html
@ -964,6 +962,8 @@
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_x.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_z.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_func_~.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_~.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_g.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_h.html
%%LIBDOCS%%%%DOCSDIR%%/html/functions_i.html
@ -1270,7 +1270,6 @@
%%LIBDOCS%%%%DOCSDIR%%/html/NameFactory_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/NameFactory_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespace____gnu__cxx.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespaceconstants.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespacefourti2.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespacefplll.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespaceFrobby.html
@ -1288,7 +1287,6 @@
%%LIBDOCS%%%%DOCSDIR%%/html/namespacemembers.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespaces.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespaceSquareFreeTermOps.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespacestd.html
%%LIBDOCS%%%%DOCSDIR%%/html/namespaceTestInternal.html
%%LIBDOCS%%%%DOCSDIR%%/html/nav_f.png
%%LIBDOCS%%%%DOCSDIR%%/html/nav_g.png
@ -1472,11 +1470,7 @@
%%LIBDOCS%%%%DOCSDIR%%/html/StatisticsStrategy_8cpp.html
%%LIBDOCS%%%%DOCSDIR%%/html/StatisticsStrategy_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/StatisticsStrategy_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/stdinc_8cpp_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/stdinc_8cpp.html
%%LIBDOCS%%%%DOCSDIR%%/html/stdinc_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/stdinc_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/stdinc_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/stdinc_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/StringParameter_8cpp_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/StringParameter_8cpp.html
@ -1588,8 +1582,6 @@
%%LIBDOCS%%%%DOCSDIR%%/html/TermTranslatorTest_8cpp_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/TermTranslatorTest_8cpp.html
%%LIBDOCS%%%%DOCSDIR%%/html/test_2stdinc_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/test_2stdinc_8h_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/test_2stdinc_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/test_2stdinc_8h.html
%%LIBDOCS%%%%DOCSDIR%%/html/Test_8cpp_source.html
%%LIBDOCS%%%%DOCSDIR%%/html/Test_8cpp.html
@ -1662,5 +1654,3 @@
%%LIBDOCS%%%%DOCSDIR%%/html/VarSorter_8h.html
%%LIBRARY%%include/frobby.h
%%STATIC%%lib/libfrobby.a
%%SHARED%%lib/libfrobby.so
%%SHARED%%lib/libfrobby.so.0