summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--math/Makefile1
-rw-r--r--math/symmetrica/Makefile23
-rw-r--r--math/symmetrica/distinfo3
-rw-r--r--math/symmetrica/files/patch-makefile11
-rw-r--r--math/symmetrica/files/patch-part.c13
-rw-r--r--math/symmetrica/pkg-descr6
6 files changed, 57 insertions, 0 deletions
diff --git a/math/Makefile b/math/Makefile
index 5793ea48ad14..6b96fcbfa386 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -733,6 +733,7 @@
SUBDIR += superlu
SUBDIR += superlu_mt
SUBDIR += surf
+ SUBDIR += symmetrica
SUBDIR += tablix
SUBDIR += taucs
SUBDIR += testu01
diff --git a/math/symmetrica/Makefile b/math/symmetrica/Makefile
new file mode 100644
index 000000000000..42a6761b7371
--- /dev/null
+++ b/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 <bsd.port.mk>
diff --git a/math/symmetrica/distinfo b/math/symmetrica/distinfo
new file mode 100644
index 000000000000..37f192c73030
--- /dev/null
+++ b/math/symmetrica/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1514705794
+SHA256 (SYM2_0_tar.gz) = bf52788dedc14c482e89f5e7efe8c60864a633314ddd446dd4602d5fdaca0ee2
+SIZE (SYM2_0_tar.gz) = 720154
diff --git a/math/symmetrica/files/patch-makefile b/math/symmetrica/files/patch-makefile
new file mode 100644
index 000000000000..c3c340551dcb
--- /dev/null
+++ b/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
diff --git a/math/symmetrica/files/patch-part.c b/math/symmetrica/files/patch-part.c
new file mode 100644
index 000000000000..8615b51317b9
--- /dev/null
+++ b/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 {
+
diff --git a/math/symmetrica/pkg-descr b/math/symmetrica/pkg-descr
new file mode 100644
index 000000000000..8647908a09ef
--- /dev/null
+++ b/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