math/fparser: New port: Function parser for C++

This commit is contained in:
Yuri Victorovich 2021-08-18 17:25:06 -07:00
parent a8720dde23
commit 2eb1585ce4
7 changed files with 125 additions and 0 deletions

View File

@ -290,6 +290,7 @@
SUBDIR += flintqs
SUBDIR += flopc++
SUBDIR += form
SUBDIR += fparser
SUBDIR += fpc-fftw
SUBDIR += fpc-gmp
SUBDIR += fpc-numlib

29
math/fparser/Makefile Normal file
View File

@ -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>

3
math/fparser/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1629330641
SHA256 (fparser4.5.2.zip) = 57ef7f03ea49e3f278a715c094933a0f3da4af9118a5f18de809062292be9833
SIZE (fparser4.5.2.zip) = 159214

View File

@ -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

View File

@ -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

View File

@ -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_

8
math/fparser/pkg-descr Normal file
View File

@ -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