Index: math/frobby/Makefile =================================================================== --- math/frobby/Makefile +++ math/frobby/Makefile @@ -1,9 +1,10 @@ -PORTNAME= frobby -PORTVERSION= 0.9.5 +PORTNAME= frobby +PORTVERSION= 0.9.5 DISTVERSIONPREFIX= v -CATEGORIES= math +PORTREVISION= 1 +CATEGORIES= math -MAINTAINER= ports@FreeBSD.org +MAINTAINER= salvadore@FreeBSD.org COMMENT= Software system and project for computations with monomial ideals LICENSE= GPLv2+ @@ -15,42 +16,51 @@ 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/* + +MAKE_ARGS+= GMP_INC_DIR=${LOCALBASE}/include +MAKE_ENV= RANLIB=${RANLIB} + +LDFLAGS+= -L${LOCALBASE}/lib + +BINARY_ALIAS= make=gmake OPTIONS_DEFINE= EXEDOCS LIBDOCS TEST -OPTIONS_DEFAULT= STATIC SHARED +OPTIONS_DEFAULT= SHARED STATIC OPTIONS_MULTI= INSTALL -OPTIONS_MULTI_INSTALL= EXECUTABLE \ - SHARED \ - STATIC +OPTIONS_MULTI_INSTALL= EXECUTABLE SHARED STATIC +OPTIONS_SUB= yes +EXECUTABLE_DESC= Build and install frobby executable 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 +EXEDOCS_BUILD_DEPENDS= dvips:print/tex-dvipsk \ + latex:print/tex-formats 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 .include .if ${PORT_OPTIONS:MSHARED} || ${PORT_OPTIONS:MSTATIC} -PLIST_SUB+= LIBRARY="" NO_LIBRARY="@comment " +PLIST_SUB+= LIBRARY="" \ + NO_LIBRARY="@comment " .else -PLIST_SUB+= LIBRARY="@comment " NO_LIBRARY="" +PLIST_SUB+= LIBRARY="@comment " \ + NO_LIBRARY="" .endif +# The following variables should be defined to the same values +# that can ben found in ${WRKSRC}/Makefile +FROBBY_SOVERSION= 1 +FROBBY_AGE= 0 +FROBBY_REVISION= 0 +FROBBY_VERSION= ${FROBBY_SOVERSION}.${FROBBY_AGE}.${FROBBY_REVISION} + do-build: do-build-EXEDOCS-on: @@ -79,13 +89,14 @@ 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 && \ + ${LN} -sf libfrobby.so.${FROBBY_VERSION} ${STAGEDIR}${PREFIX}/lib/libfrobby.so && \ + ${LN} -sf 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: ${MKDIR} ${STAGEDIR}${DOCSDIR} Index: math/frobby/files/patch-Makefile =================================================================== --- math/frobby/files/patch-Makefile +++ math/frobby/files/patch-Makefile @@ -1,6 +1,25 @@ --- Makefile.orig 2021-02-23 21:29:06 UTC +++ Makefile -@@ -99,7 +99,6 @@ endif +@@ -11,7 +11,18 @@ ldflags_for_gmp=-L/usr/local/lib -lgmpxx -lgmp + GMP_INC_DIR=/usr/local/include + ldflags_for_gmp=-L/usr/local/lib -lgmpxx -lgmp + ++# Applied patch from https://github.com/Macaulay2/frobby/commit/5b9e4ac4057f5693f53c321eeb5bfb387f6b69fb ++# This patch will probably become obsolete in some later release. + ++# shared library version ++# bump if interfaces added, removed, or changed ++FROBBY_CURRENT = 1 ++# bump at every release, set to 0 if any interfaces added, removed, or changed ++FROBBY_REVISION = 0 ++# bump if interfaces added, set to 0 if removed or changed ++FROBBY_AGE = 0 ++FROBBY_SOVERSION := $(shell expr $(FROBBY_CURRENT) - $(FROBBY_AGE)) ++FROBBY_VERSION := $(FROBBY_SOVERSION).$(FROBBY_AGE).$(FROBBY_REVISION) + + rawSources := main.cpp Action.cpp IOParameters.cpp \ + IrreducibleDecomAction.cpp fplllIO.cpp IOHandler.cpp fourti2.cpp \ +@@ -99,7 +110,6 @@ ifeq ($(MODE), release) MATCH=false ifeq ($(MODE), release) outdir = bin/release/ @@ -8,7 +27,7 @@ MATCH=true endif ifeq ($(MODE), debug) -@@ -111,13 +110,13 @@ ifeq ($(MODE), debug) +@@ -111,13 +121,13 @@ ifeq ($(MODE), shared) endif ifeq ($(MODE), shared) outdir = bin/shared/ @@ -24,3 +43,17 @@ ldflags += -pg MATCH=true benchArgs = _profile $(FROBBYARGS) +@@ -225,7 +235,12 @@ ifeq ($(MODE), shared) + bin/$(library): $(objs) | bin/ + rm -f bin/$(library) + ifeq ($(MODE), shared) +- $(CXX) -shared -o bin/$(library) $(ldflags) \ ++ ++# Applied patch from https://github.com/Macaulay2/frobby/commit/5b9e4ac4057f5693f53c321eeb5bfb387f6b69fb ++# This patch will probably become obsolete in some later release. ++ ++ $(CXX) -shared -Wl,-soname,$(library).$(FROBBY_SOVERSION) \ ++ -o bin/$(library).$(FROBBY_VERSION) $(ldflags) \ + $(patsubst $(outdir)main.o,,$(objs)) -lgmp -lgmpxx + else + ar crs bin/$(library) $(patsubst $(outdir)main.o,,$(objs)) Index: math/frobby/pkg-plist =================================================================== --- math/frobby/pkg-plist +++ math/frobby/pkg-plist @@ -1663,4 +1663,5 @@ %%LIBRARY%%include/frobby.h %%STATIC%%lib/libfrobby.a %%SHARED%%lib/libfrobby.so -%%SHARED%%lib/libfrobby.so.0 +%%SHARED%%lib/libfrobby.so.1 +%%SHARED%%lib/libfrobby.so.1.0.0