Index: head/math/Makefile =================================================================== --- head/math/Makefile +++ head/math/Makefile @@ -733,6 +733,7 @@ SUBDIR += superlu SUBDIR += superlu_mt SUBDIR += surf + SUBDIR += symmetrica SUBDIR += tablix SUBDIR += taucs SUBDIR += testu01 Index: head/math/symmetrica/Makefile =================================================================== --- head/math/symmetrica/Makefile +++ head/math/symmetrica/Makefile @@ -0,0 +1,23 @@ +# $FreeBSD$ + +PORTNAME= symmetrica +DISTVERSION= 2.0 +CATEGORIES= math +MASTER_SITES= http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA/ +DISTFILES= SYM2_0_tar.gz + +MAINTAINER= yuri@FreeBSD.org +COMMENT= Collection of routines for combinatorial mathematics + +LICENSE= PD + +USES= gmake +MAKEFILE= makefile +NO_WRKSUBDIR= yes + +PLIST_FILES= bin/${PORTNAME} + +do-install: + ${INSTALL_PROGRAM} ${WRKSRC}/test ${STAGEDIR}${PREFIX}/bin/${PORTNAME} + +.include Index: head/math/symmetrica/distinfo =================================================================== --- head/math/symmetrica/distinfo +++ head/math/symmetrica/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1514705794 +SHA256 (SYM2_0_tar.gz) = bf52788dedc14c482e89f5e7efe8c60864a633314ddd446dd4602d5fdaca0ee2 +SIZE (SYM2_0_tar.gz) = 720154 Index: head/math/symmetrica/files/patch-makefile =================================================================== --- head/math/symmetrica/files/patch-makefile +++ head/math/symmetrica/files/patch-makefile @@ -0,0 +1,11 @@ +--- makefile.orig 2007-12-07 07:03:22 UTC ++++ makefile +@@ -1,4 +1,6 @@ ++all: test ++ + .c.o: +- cc -c -O2 -DFAST -DALLTRUE $< ++ $(CC) -c $(CFLAGS) -DFAST -DALLTRUE $< + test: test.c bar.o bi.o boe.o bruch.o classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o zyk.o +- gcc -DALLTRUE -DFAST test.c bar.o bi.o boe.o bruch.o classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o zyk.o -o test -lm ++ $(CC) -DALLTRUE -DFAST test.c bar.o bi.o boe.o bruch.o classical.o de.o di.o ff.o galois.o ga.o gra.o hash.o hiccup.o io.o ko.o list.o lo.o ma.o mee.o mem.o mes.o mhe.o mhh.o mhm.o mhp.o mhs.o mmm.o mms.o mod_dg_sbd.o mo.o mpp.o mps.o mse.o msh.o msm.o mss.o muir.o na.o nb.o nc.o nu.o part.o pee.o peh.o pem.o perm.o pes.o phe.o phh.o phm.o phs.o plet.o pme.o pmh.o poly.o ppe.o pph.o ppm.o ppp.o pps.o pr.o pse.o psh.o psm.o pss.o rest.o rh.o sab.o sb.o sc.o sr.o ta.o teh.o tem.o tep.o tes.o the.o thm.o thp.o ths.o tme.o tmh.o tmp.o tms.o tpe.o tph.o tpm.o tps.o tse.o tsh.o tsm.o tsp.o vc.o zo.o zykelind.o zyk.o -o test -lm Index: head/math/symmetrica/files/patch-part.c =================================================================== --- head/math/symmetrica/files/patch-part.c +++ head/math/symmetrica/files/patch-part.c @@ -0,0 +1,13 @@ +--- part.c.orig 2017-12-31 07:40:55 UTC ++++ part.c +@@ -1767,8 +1767,8 @@ static int rec01(INT ni, OP vec) + /* to compute number of partitions */ + { + INT erg = OK; +- if (ni<0) return; +- if (not EMPTYP(S_V_I(vec,ni))) return; ++ if (ni<0) return 0; ++ if (not EMPTYP(S_V_I(vec,ni))) return 0; + else if (ni<=1) M_I_I(1,S_V_I(vec,ni)); + else { + Index: head/math/symmetrica/pkg-descr =================================================================== --- head/math/symmetrica/pkg-descr +++ head/math/symmetrica/pkg-descr @@ -0,0 +1,6 @@ +Symmetrica is a collection of routines, written in the programming language C, +through which the user can readily write his/her own programs. Routines which +manipulate many types of mathematical objects are available. Their use is +facilitated by Symmetrica's object oriented style. + +WWW: http://www.algorithm.uni-bayreuth.de/en/research/SYMMETRICA