forked from pool/muparser
Accepting request 112912 from home:jengelh:branches:science
- update to new upstream release 2.2.2 * Retrieving all results of expressions made up of comma separate subexpressions is now possible with a new Eval overload. * Callback functions with fixed number of arguments can now have up to 10 parameters * ternary if-then-else operator added (C-like; "x?y:z") * new intrinsic binary operators: "&&", "||" (logical and, or) * A new bulkmode allows submitting large arrays as variables to compute large numbers of expressions with a single call.- enable parallel build OBS-URL: https://build.opensuse.org/request/show/112912 OBS-URL: https://build.opensuse.org/package/show/science/muparser?expand=0&rev=2
This commit is contained in:
parent
549ab4048b
commit
0e7ce186f5
@ -1,19 +0,0 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 10 19:00:00 CET 2010 - aeszter@gwdg.de
|
||||
|
||||
- update to 1.34
|
||||
|
||||
Tue Nov 17 19:00:00 CET 2009 - aeszter@gwdg.de
|
||||
|
||||
- fix parallel build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 30 21:12:08 CEST 2009 - lars@linux-schulserver.de
|
||||
|
||||
- build for openSUSE-Education
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 3 00:00:00 CEST 2009 - uli@suse.de
|
||||
|
||||
- initial package
|
||||
|
@ -1,98 +0,0 @@
|
||||
# norootforbuild
|
||||
|
||||
Name: libmuparser0
|
||||
Summary: A fast math parser library
|
||||
Version: 1.34
|
||||
Release: 0
|
||||
License: MIT
|
||||
Group: Productivity/Scientific/Math
|
||||
Source: muparser_v134.tar.bz2
|
||||
#Patch1: muparser-destdir.patch
|
||||
Patch2: muparser-optflags.patch
|
||||
#Patch3: muparser-version.patch
|
||||
Patch4: muparser-prereq.patch
|
||||
BuildRequires: gcc-c++
|
||||
%if 0%{?suse_version}
|
||||
BuildRequires: pkg-config
|
||||
%endif
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
Many applications require the parsing of mathematical expressions. The main
|
||||
objective of this library is to provide a fast and easy way of doing this.
|
||||
muParser is an extensible high performance math parser library written in
|
||||
C++. It works by transforming a mathematical expression into bytecode and
|
||||
precalculating constant parts of the expression.
|
||||
|
||||
The library is written in pure C++ and should compile on every standard
|
||||
compliant compiler. The parser archive comes with projects for a variety of
|
||||
platforms. The code runs on 32 bit and 64 bit architechture and has been
|
||||
tested using MS VC++ V8.0 and GCC V4.2.4. It reportedly works on BCB too.
|
||||
Code samples are provided in order to help you understand its usage. The
|
||||
library is open source and distributed under the MIT license.
|
||||
|
||||
|
||||
Author:
|
||||
-------
|
||||
Ingo Berg
|
||||
|
||||
%package devel
|
||||
Summary: A fast math parser library (development files)
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %name = %version
|
||||
|
||||
%description devel
|
||||
Development files for %name - the fast parser library.
|
||||
|
||||
You need this package to develop applications using the %name library.
|
||||
|
||||
Author:
|
||||
-------
|
||||
Ingo Berg
|
||||
|
||||
|
||||
%prep
|
||||
%setup -n muparser_v134
|
||||
#%patch1 -p0
|
||||
%patch2 -p1
|
||||
#%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
%build
|
||||
export CXXFLAGS="%optflags" \
|
||||
export CPPFLAGS="%optflags" \
|
||||
%configure --enable-samples \
|
||||
--enable-shared
|
||||
|
||||
make %{?jobs:-j%jobs}
|
||||
|
||||
%install
|
||||
%makeinstall
|
||||
mv docs/html .
|
||||
for file in *.txt $(find html/ -type f); do
|
||||
if [ -f $file ]; then
|
||||
chmod 644 $file
|
||||
sed -i "s|
||" $file
|
||||
fi
|
||||
done
|
||||
|
||||
%clean
|
||||
rm -rf %buildroot
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc Changes.txt Credits.txt License.txt
|
||||
%_libdir/libmuparser.so.0
|
||||
%_libdir/libmuparser.so.0.0.0
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%doc html
|
||||
%_includedir/muParser*.h
|
||||
%_libdir/libmuparser.so
|
||||
%_libdir/pkgconfig/muparser.pc
|
||||
|
||||
%changelog
|
3
muparser-2.2.2.tar.bz2
Normal file
3
muparser-2.2.2.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55e3f1bd167d48c0e86c26b413e0ebcc6cb5aa0c7dabc065d93a5590056f3e26
|
||||
size 1393987
|
@ -1,13 +0,0 @@
|
||||
--- Makefile.in
|
||||
+++ Makefile.in
|
||||
@@ -192,8 +192,8 @@
|
||||
all: $(__muParser_lib___depname) $(__muParser_dll___depname) $(__example1___depname)
|
||||
|
||||
install: all $(__install_muParser_lib___depname) $(__install_muParser_lib_headers___depname) $(__install_muParser_dll___depname) $(__install_muParser_dll_headers___depname)
|
||||
- $(INSTALL_DIR) $(libdir)/pkgconfig
|
||||
- $(INSTALL_DATA) build/autoconf/muparser.pc $(libdir)/pkgconfig
|
||||
+ $(INSTALL_DIR) $(DESTDIR)$(libdir)/pkgconfig
|
||||
+ $(INSTALL_DATA) build/autoconf/muparser.pc $(DESTDIR)$(libdir)/pkgconfig
|
||||
|
||||
uninstall: $(__uninstall_muParser_lib___depname) $(__uninstall_muParser_lib_headers___depname) $(__uninstall_muParser_dll___depname) $(__uninstall_muParser_dll_headers___depname)
|
||||
|
62
muparser-fix-ac.diff
Normal file
62
muparser-fix-ac.diff
Normal file
@ -0,0 +1,62 @@
|
||||
Unbreak `./configure CFLAGS=-ggdb3`.
|
||||
|
||||
N.B.: Do NOT set CFLAGS/CXXFLAGS/CPPFLAGS from project files at all,
|
||||
these are reserved for the user. (Section 3.6 of automake.info).
|
||||
|
||||
`./configure && make CFLAGS=-ggdb3` still removes the project-provided flags.
|
||||
And parallel building is still broken. I hate you, bakefile.
|
||||
|
||||
---
|
||||
build/autoconf/bakefile-presets.m4 | 13 +++++++++----
|
||||
build/autoconf/configure.ac | 12 +++++++-----
|
||||
2 files changed, 16 insertions(+), 9 deletions(-)
|
||||
|
||||
Index: muparser-2.2.2/build/autoconf/bakefile-presets.m4
|
||||
===================================================================
|
||||
--- muparser-2.2.2.orig/build/autoconf/bakefile-presets.m4
|
||||
+++ muparser-2.2.2/build/autoconf/bakefile-presets.m4
|
||||
@@ -74,12 +74,17 @@ AC_DEFUN([AC_BAKEFILE_DEBUGOPT],
|
||||
dnl and thus we must be careful to add it only to CXXFLAGS and not to CFLAGS
|
||||
dnl (remember that CPPFLAGS is reserved for both C and C++ compilers while
|
||||
dnl CFLAGS is intended as flags for C compiler only and CXXFLAGS for C++ only)
|
||||
- CXXFLAGS="$CXXFLAGS -g -O0 -Wall -Wundef -Wno-ctor-dtor-privacy"
|
||||
- CFLAGS="$CFLAGS -g -O0 -Wall -Wundef"
|
||||
+ my_CXXFLAGS="$my_CXXFLAGS -g -O0 -Wall -Wundef -Wno-ctor-dtor-privacy"
|
||||
+ my_CFLAGS="$my_CFLAGS -g -O0 -Wall -Wundef"
|
||||
else
|
||||
- CXXFLAGS="$CXXFLAGS -O2"
|
||||
- CFLAGS="$CFLAGS -O2"
|
||||
+ my_CXXFLAGS="$my_CXXFLAGS -O2"
|
||||
+ my_CFLAGS="$my_CFLAGS -O2"
|
||||
fi
|
||||
+ # User-supplied CXXFLAGS must always take precedence.
|
||||
+ # This still sucks because using `make CFLAGS=-foobar` kills
|
||||
+ # the project-supplied flags again.
|
||||
+ CXXFLAGS="$my_CXXFLAGS $CXXFLAGS"
|
||||
+ CFLAGS="$my_CFLAGS $CFLAGS"
|
||||
])
|
||||
|
||||
dnl ---------------------------------------------------------------------------
|
||||
Index: muparser-2.2.2/build/autoconf/configure.ac
|
||||
===================================================================
|
||||
--- muparser-2.2.2.orig/build/autoconf/configure.ac
|
||||
+++ muparser-2.2.2/build/autoconf/configure.ac
|
||||
@@ -25,11 +25,13 @@ dnl (and sets the AC_CANONICAL_BUILD, AC
|
||||
dnl AC_CANONICAL_TARGET variables)
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
||||
-dnl we set these vars to avoid that the AC_PROG_C* macros add the "-g -O2" flags;
|
||||
-dnl we will add them later, if needed
|
||||
-CFLAGS=
|
||||
-CXXFLAGS=
|
||||
-CPPFLAGS=
|
||||
+# We want to inhibit AC_PROG_C* macros adding the default "-g -O2" flags.
|
||||
+# To do so, make sure that the variables are not unset - it is ok if they are
|
||||
+# empty. However, their value MUST be retained, since one may have
|
||||
+# called ./configure CFLAGS=-foobar.
|
||||
+CFLAGS="$CFLAGS"
|
||||
+CPPFLAGS="$CPPFLAGS"
|
||||
+CXXFLAGS="$CXXFLAGS"
|
||||
|
||||
dnl Checks for basic programs used to compile/install.
|
||||
AC_PROG_AWK
|
30
muparser-fix-undef.diff
Normal file
30
muparser-fix-undef.diff
Normal file
@ -0,0 +1,30 @@
|
||||
From: Jan Engelhardt <jengelh@medozas.de>
|
||||
Date: 2012-04-06 22:49:28.359430308 +0200
|
||||
|
||||
Resolve undefined behavior in muParserBase
|
||||
|
||||
./src/muParserBase.cpp:1041:85: warning: operation on 'sidx' may be undefined [-Wsequence-point]
|
||||
./src/muParserBase.cpp:1041:85: warning: operation on 'sidx' may be undefined [-Wsequence-point]
|
||||
|
||||
I: Program causes undefined operation
|
||||
(likely same variable used twiceand post/pre incremented in the same expression).
|
||||
e.g. x = x++; Split it in two operations.
|
||||
W: muparser sequence-point ./src/muParserBase.cpp:1041
|
||||
---
|
||||
src/muParserBase.cpp | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: muparser-2.2.2/src/muParserBase.cpp
|
||||
===================================================================
|
||||
--- muparser-2.2.2.orig/src/muParserBase.cpp
|
||||
+++ muparser-2.2.2/src/muParserBase.cpp
|
||||
@@ -1038,7 +1038,8 @@ namespace mu
|
||||
continue;
|
||||
|
||||
case cmPOW:
|
||||
- Stack[--sidx] = MathImpl<value_type>::Pow(Stack[sidx], Stack[1+sidx]); ;
|
||||
+ --sidx;
|
||||
+ Stack[sidx] = MathImpl<value_type>::Pow(Stack[sidx], Stack[1+sidx]);
|
||||
continue;
|
||||
|
||||
case cmLAND: --sidx; Stack[sidx] = Stack[sidx] && Stack[sidx+1]; continue;
|
@ -1,77 +0,0 @@
|
||||
Index: muparser/configure
|
||||
===================================================================
|
||||
--- muparser.orig/configure
|
||||
+++ muparser/configure
|
||||
@@ -1,6 +1,6 @@
|
||||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
-# Generated by GNU Autoconf 2.60 for muParser 1.27.
|
||||
+# Generated by GNU Autoconf 2.60 for muParser 1.30.
|
||||
#
|
||||
# Report bugs to <frm@users.sourceforge.net>.
|
||||
#
|
||||
@@ -559,8 +559,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='muParser'
|
||||
PACKAGE_TARNAME='muparser'
|
||||
-PACKAGE_VERSION='1.27'
|
||||
-PACKAGE_STRING='muParser 1.27'
|
||||
+PACKAGE_VERSION='1.30'
|
||||
+PACKAGE_STRING='muParser 1.30'
|
||||
PACKAGE_BUGREPORT='frm@users.sourceforge.net'
|
||||
|
||||
ac_subst_vars='SHELL
|
||||
@@ -1212,7 +1212,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
-\`configure' configures muParser 1.27 to adapt to many kinds of systems.
|
||||
+\`configure' configures muParser 1.30 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1278,7 +1278,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
- short | recursive ) echo "Configuration of muParser 1.27:";;
|
||||
+ short | recursive ) echo "Configuration of muParser 1.30:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1368,7 +1368,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
-muParser configure 1.27
|
||||
+muParser configure 1.30
|
||||
generated by GNU Autoconf 2.60
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1382,7 +1382,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
-It was created by muParser $as_me 1.27, which was
|
||||
+It was created by muParser $as_me 1.30, which was
|
||||
generated by GNU Autoconf 2.60. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -6629,7 +6629,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
-This file was extended by muParser $as_me 1.27, which was
|
||||
+This file was extended by muParser $as_me 1.30, which was
|
||||
generated by GNU Autoconf 2.60. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -6672,7 +6672,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF
|
||||
ac_cs_version="\\
|
||||
-muParser config.status 1.27
|
||||
+muParser config.status 1.30
|
||||
configured by $0, generated by GNU Autoconf 2.60,
|
||||
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
34
muparser.changes
Normal file
34
muparser.changes
Normal file
@ -0,0 +1,34 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 5 11:24:30 UTC 2012 - jengelh@medozas.de
|
||||
|
||||
- update to new upstream release 2.2.2
|
||||
* Retrieving all results of expressions made up of comma separate
|
||||
subexpressions is now possible with a new Eval overload.
|
||||
* Callback functions with fixed number of arguments can now have up
|
||||
to 10 parameters
|
||||
* ternary if-then-else operator added (C-like; "x?y:z")
|
||||
* new intrinsic binary operators: "&&", "||" (logical and, or)
|
||||
* A new bulkmode allows submitting large arrays as variables to
|
||||
compute large numbers of expressions with a single call.- enable
|
||||
parallel build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Nov 10 19:00:00 CET 2010 - aeszter@gwdg.de
|
||||
|
||||
- update to 1.34
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 17 19:00:00 CET 2009 - aeszter@gwdg.de
|
||||
|
||||
- fix parallel build
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Aug 30 21:12:08 CEST 2009 - lars@linux-schulserver.de
|
||||
|
||||
- build for openSUSE-Education
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 3 00:00:00 CEST 2009 - uli@suse.de
|
||||
|
||||
- initial package
|
||||
|
89
muparser.spec
Normal file
89
muparser.spec
Normal file
@ -0,0 +1,89 @@
|
||||
#
|
||||
# spec file for package muparser
|
||||
#
|
||||
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||
#
|
||||
Name: muparser
|
||||
%define lname libmuparser2
|
||||
Summary: A math parser library
|
||||
License: MIT
|
||||
Group: Productivity/Scientific/Math
|
||||
Version: 2.2.2
|
||||
Release: 0
|
||||
Url: http://muparser.sf.net/
|
||||
|
||||
# quilt does not like zips very much. downloaded and repackaged.
|
||||
Source: %name-%version.tar.bz2
|
||||
Patch1: muparser-fix-ac.diff
|
||||
Patch2: muparser-fix-undef.diff
|
||||
Patch3: muparser-optflags.patch
|
||||
Patch4: muparser-prereq.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
BuildRequires: autoconf automake gcc-c++ libtool pkgconfig
|
||||
|
||||
%description
|
||||
muParser is an extensible high performance math parser library written in
|
||||
C++. It works by transforming a mathematical expression into bytecode and
|
||||
precalculating constant parts of the expression.
|
||||
|
||||
%package -n %lname
|
||||
Summary: Library to evaluate strings as mathematical functions
|
||||
Group: System/Libraries
|
||||
|
||||
%description -n %lname
|
||||
muParser is an extensible high performance math parser library written in
|
||||
C++. It works by transforming a mathematical expression into bytecode and
|
||||
precalculating constant parts of the expression.
|
||||
|
||||
%package devel
|
||||
Summary: Development files for muparser
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %lname = %version
|
||||
|
||||
%description devel
|
||||
muParser is an extensible high performance math parser library written in
|
||||
C++. It works by transforming a mathematical expression into bytecode and
|
||||
precalculating constant parts of the expression.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch -P 1 -P 2 -P 3 -p1
|
||||
|
||||
%build
|
||||
sh build/autoconf/acregen.sh
|
||||
%configure --enable-samples --enable-shared
|
||||
# bakafile not parallel sife - duh
|
||||
make -j1
|
||||
|
||||
%install
|
||||
make install DESTDIR="%buildroot"
|
||||
rm -f "%buildroot/%_libdir"/*.la
|
||||
|
||||
%post -n %lname -p /sbin/ldconfig
|
||||
|
||||
%postun -n %lname -p /sbin/ldconfig
|
||||
|
||||
%files -n %lname
|
||||
%defattr(-,root,root)
|
||||
%_libdir/libmuparser.so.2*
|
||||
%doc License.txt
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%_includedir/muParser*.h
|
||||
%_libdir/libmuparser.so
|
||||
%_libdir/pkgconfig/muparser.pc
|
||||
%doc Changes.txt
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user