Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 19 Aug 2021 01:25:41 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 2eb1585ce461 - main - math/fparser: New port: Function parser for C++
Message-ID:  <202108190125.17J1PfHI034682@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2eb1585ce461adff906fe6263cfe2aaa345bc54c

commit 2eb1585ce461adff906fe6263cfe2aaa345bc54c
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2021-08-19 00:25:06 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2021-08-19 01:25:37 +0000

    math/fparser: New port: Function parser for C++
---
 math/Makefile                              |  1 +
 math/fparser/Makefile                      | 29 +++++++++++++++
 math/fparser/distinfo                      |  3 ++
 math/fparser/files/patch-fparser.autotools | 58 ++++++++++++++++++++++++++++++
 math/fparser/files/patch-fparser.config    | 12 +++++++
 math/fparser/files/patch-fparser.includes  | 14 ++++++++
 math/fparser/pkg-descr                     |  8 +++++
 7 files changed, 125 insertions(+)

diff --git a/math/Makefile b/math/Makefile
index 16c11114309a..14eae18d0e39 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -290,6 +290,7 @@
     SUBDIR += flintqs
     SUBDIR += flopc++
     SUBDIR += form
+    SUBDIR += fparser
     SUBDIR += fpc-fftw
     SUBDIR += fpc-gmp
     SUBDIR += fpc-numlib
diff --git a/math/fparser/Makefile b/math/fparser/Makefile
new file mode 100644
index 000000000000..7b812d8ec1b1
--- /dev/null
+++ b/math/fparser/Makefile
@@ -0,0 +1,29 @@
+PORTNAME=	fparser
+DISTVERSION=	4.5.2
+CATEGORIES=	math
+MASTER_SITES=	http://warp.povusers.org/FunctionParser/ # another fork exists: https://github.com/thliebig/fparser
+DISTNAME=	${PORTNAME}${DISTVERSION}
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Function parser for C++
+
+LICENSE=	LGPL3
+
+USES=		autoreconf gmake libtool zip
+USE_LDCONFIG=	yes
+
+GNU_CONFIGURE=	yes
+
+NO_WRKSUBDIR=	yes
+
+INSTALL_TARGET=	install-strip
+
+PLIST_FILES=	include/fparser/fparser.hh \
+		include/fparser/fpaux.hh \
+		include/fparser/fpconfig.hh \
+		include/fparser/fptypes.hh \
+		lib/libfparser-4.5.so \
+		lib/libfparser.so \
+		libdata/pkgconfig/fparser.pc
+
+.include <bsd.port.mk>
diff --git a/math/fparser/distinfo b/math/fparser/distinfo
new file mode 100644
index 000000000000..aae33ac9aa2d
--- /dev/null
+++ b/math/fparser/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1629330641
+SHA256 (fparser4.5.2.zip) = 57ef7f03ea49e3f278a715c094933a0f3da4af9118a5f18de809062292be9833
+SIZE (fparser4.5.2.zip) = 159214
diff --git a/math/fparser/files/patch-fparser.autotools b/math/fparser/files/patch-fparser.autotools
new file mode 100644
index 000000000000..a6b5c83d4071
--- /dev/null
+++ b/math/fparser/files/patch-fparser.autotools
@@ -0,0 +1,58 @@
+- same as https://src.fedoraproject.org/rpms/fparser/blob/f26/f/fparser.autotools.patch
+
+diff -urN configure.ac configure.ac
+--- configure.ac	1970-01-01 01:00:00.000000000 +0100
++++ configure.ac	2014-03-20 09:20:12.990327023 +0100
+@@ -0,0 +1,17 @@
++AC_INIT([fparser], [4.5.2])
++AC_CONFIG_SRCDIR([fparser.cc])
++AM_INIT_AUTOMAKE([foreign])
++AC_CONFIG_MACRO_DIR([m4])
++
++LIBVERSION=4.5
++AC_SUBST(LIBVERSION)
++
++AC_PROG_CXX
++AC_LANG_CPLUSPLUS
++
++AM_DISABLE_STATIC
++AM_PROG_LIBTOOL
++
++AC_SUBST(CXXFLAGS)
++
++AC_OUTPUT(Makefile fparser.pc)
+diff -urN fparser.pc.in fparser.pc.in
+--- fparser.pc.in	1970-01-01 01:00:00.000000000 +0100
++++ fparser.pc.in	2014-03-19 12:05:50.000000000 +0100
+@@ -0,0 +1,10 @@
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++libdir=@libdir@
++includedir=@includedir@
++
++Name: @PACKAGE_NAME@
++Description: Function parser library for C++
++Version: @PACKAGE_VERSION@
++Libs: -L${libdir} -lfparser
++Cflags: -I${includedir}
+diff -urN Makefile.am Makefile.am
+--- Makefile.am	1970-01-01 01:00:00.000000000 +0100
++++ Makefile.am	2014-04-16 18:50:09.645424287 +0200
+@@ -0,0 +1,17 @@
++fparserincludedir = $(includedir)/fparser
++fparserinclude_HEADERS = \
++fparser.hh \
++fpconfig.hh \
++extrasrc/fptypes.hh \
++extrasrc/fpaux.hh
++
++lib_LTLIBRARIES = libfparser.la
++
++libfparser_la_LDFLAGS = -release @LIBVERSION@
++
++libfparser_la_SOURCES = \
++fparser.cc \
++fpoptimizer.cc
++
++pkgconfigdir = $(libdir)/pkgconfig
++pkgconfig_DATA = fparser.pc
diff --git a/math/fparser/files/patch-fparser.config b/math/fparser/files/patch-fparser.config
new file mode 100644
index 000000000000..9e992220607e
--- /dev/null
+++ b/math/fparser/files/patch-fparser.config
@@ -0,0 +1,12 @@
+- same as https://src.fedoraproject.org/rpms/fparser/blob/f26/f/fparser.config.patch
+
+diff -urN fpconfig.hh fpconfig.hh
+--- fpconfig.hh	2012-11-11 09:25:15.000000000 +0100
++++ fpconfig.hh	2014-06-07 16:53:15.512151116 +0200
+@@ -84,5 +84,5 @@
+  The second version requires that the compiler supports the alloca() function,
+  which is not standard, but is faster.
+  */
+-//#define FP_USE_THREAD_SAFE_EVAL
++#define FP_USE_THREAD_SAFE_EVAL
+ //#define FP_USE_THREAD_SAFE_EVAL_WITH_ALLOCA
diff --git a/math/fparser/files/patch-fparser.includes b/math/fparser/files/patch-fparser.includes
new file mode 100644
index 000000000000..7883bcc70b84
--- /dev/null
+++ b/math/fparser/files/patch-fparser.includes
@@ -0,0 +1,14 @@
+- same as https://src.fedoraproject.org/rpms/fparser/blob/f26/f/fparser.includes.patch
+
+diff -urN extrasrc/fptypes.hh extrasrc/fptypes.hh
+--- extrasrc/fptypes.hh	2012-11-11 09:25:15.000000000 +0100
++++ extrasrc/fptypes.hh	2014-04-16 18:54:52.813675207 +0200
+@@ -16,7 +16,7 @@
+ #ifndef ONCE_FPARSER_TYPES_H_
+ #define ONCE_FPARSER_TYPES_H_
+ 
+-#include "../fpconfig.hh"
++#include "fpconfig.hh"
+ #include <cstring>
+ 
+ #ifdef ONCE_FPARSER_H_
diff --git a/math/fparser/pkg-descr b/math/fparser/pkg-descr
new file mode 100644
index 000000000000..78a2a6cfefb4
--- /dev/null
+++ b/math/fparser/pkg-descr
@@ -0,0 +1,8 @@
+This C++ library offers a class which can be used to parse and evaluate a
+mathematical function from a string (which might be eg. requested from the
+user). The syntax of the function string is similar to mathematical
+expressions written in C/C++ (the exact syntax is specified in the
+documentation below). The function can then be evaluated with different values
+of variables.
+
+WWW: https://github.com/thliebig/fparser



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202108190125.17J1PfHI034682>