From 34b6b542fabf199bd389067cad37837fa1ea91df65901b27e184ca88f5061e5b Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Mon, 2 Feb 2015 23:54:01 +0000 Subject: [PATCH] muparser-2.2.4 OBS-URL: https://build.opensuse.org/package/show/science/muparser?expand=0&rev=11 --- muparser-2.2.3.tar.xz | 3 --- muparser-2.2.4.tar.xz | 3 +++ muparser-abiversion.diff | 48 ++++++++++++++++++++++++++++++++++++++++ muparser.changes | 10 +++++++++ muparser.spec | 21 +++++++++--------- prepare-tar.sh | 5 ++--- 6 files changed, 73 insertions(+), 17 deletions(-) delete mode 100644 muparser-2.2.3.tar.xz create mode 100644 muparser-2.2.4.tar.xz create mode 100644 muparser-abiversion.diff diff --git a/muparser-2.2.3.tar.xz b/muparser-2.2.3.tar.xz deleted file mode 100644 index 76f31ca..0000000 --- a/muparser-2.2.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5c19d9781324f7d5c2ac2905fb3b3f56338543d4d5f2a0c5dddd4631becc99e2 -size 755572 diff --git a/muparser-2.2.4.tar.xz b/muparser-2.2.4.tar.xz new file mode 100644 index 0000000..d47e5da --- /dev/null +++ b/muparser-2.2.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:337a875fdf42cce1e2ecce8b9d351b0ddd634c9a517471a41a6dc9bc980bdeba +size 159828 diff --git a/muparser-abiversion.diff b/muparser-abiversion.diff new file mode 100644 index 0000000..bbad2e4 --- /dev/null +++ b/muparser-abiversion.diff @@ -0,0 +1,48 @@ +From: Jan Engelhardt +Date: 2015-02-03 00:43:03.433735818 +0100 + +muparser broke the ABI between 2.2.3 and 2.2.4 by changing. +The abidiff(1) report from libabigail: + + [C]'method std::size_t mu::ParserError::GetPos()' has some indirect sub-type changes: + return type changed: + entity changed from typedef std::size_t to int + name changed from 'long unsigned int' to 'int' + size changed from 64 to 32 bits + alignment changed from 64 to 32 bits + +Work around this messup by using the full version as unique SONAME. +--- + Makefile.in | 6 +++--- + build/autoconf/aclocal.m4 | 5 +++-- + 2 files changed, 6 insertions(+), 5 deletions(-) + +Index: muparser-2.2.4/Makefile.in +=================================================================== +--- muparser-2.2.4.orig/Makefile.in ++++ muparser-2.2.4/Makefile.in +@@ -143,7 +143,7 @@ COND_WINDOWS_IMPLIB_1___muParser_dll___i + @COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@__muParser_dll___targetsuf3 \ + @COND_PLATFORM_MACOSX_1_USE_SOVERSION_1@ = .2.2.4.$(SO_SUFFIX) + @COND_USE_SOVERSION_1_USE_SOVERSOLARIS_1@__muParser_dll___targetsuf3 \ +-@COND_USE_SOVERSION_1_USE_SOVERSOLARIS_1@ = .$(SO_SUFFIX).2 ++@COND_USE_SOVERSION_1_USE_SOVERSOLARIS_1@ = .$(SO_SUFFIX).2.2.4 + @COND_USE_SOVERCYGWIN_1_USE_SOVERSION_1@__muParser_dll___targetsuf3 \ + @COND_USE_SOVERCYGWIN_1_USE_SOVERSION_1@ = -2.$(SO_SUFFIX) + @COND_USE_SOVERSION_0@__muParser_dll___targetsuf3 = .$(SO_SUFFIX) +Index: muparser-2.2.4/build/autoconf/aclocal.m4 +=================================================================== +--- muparser-2.2.4.orig/build/autoconf/aclocal.m4 ++++ muparser-2.2.4/build/autoconf/aclocal.m4 +@@ -1317,8 +1317,9 @@ AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS], + SONAME_FLAG="-Wl,-soname," + fi + USE_SOVERSION=1 +- USE_SOVERLINUX=1 +- USE_SOTWOSYMLINKS=1 ++ USE_SOVERLINUX=0 ++ USE_SOVERSOLARIS=1 ++ USE_SOTWOSYMLINKS=0 + ;; + + *-*-solaris2* ) diff --git a/muparser.changes b/muparser.changes index b671343..bfbac74 100644 --- a/muparser.changes +++ b/muparser.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Mon Feb 2 23:06:30 UTC 2015 - jengelh@inai.de + +- Update to new upstream release 2.2.4 +* String constants did not work properly. Using more than a single + one was impossible. +* return type of ParserError::GetPos changed to int +* Bulkmode did not evaluate properly if "=" and "," operator was + used in the expression + ------------------------------------------------------------------- Fri Jan 25 04:15:00 UTC 2013 - jengelh@inai.de diff --git a/muparser.spec b/muparser.spec index 90994c0..ab5b98c 100644 --- a/muparser.spec +++ b/muparser.spec @@ -1,7 +1,7 @@ # # spec file for package muparser # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 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 @@ -17,25 +17,25 @@ Name: muparser -%define lname libmuparser2 +%define lname libmuparser2_2_4 +Version: 2.2.4 +Release: 0 Summary: A math parser library License: MIT Group: Productivity/Scientific/Math -Version: 2.2.3 -Release: 0 Url: http://muparser.beltoforion.de/ -#DL-URL: http://downloads.sf.net/muparser/muparser_v2_2_3.zip -# quilt does not like zips very much. downloaded and repackaged. +#DL-URL: https://doc-0g-58-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/is8u65pst36vuotrinv2c401knhailp9/1422914400000/10606444718388524723/*/0BzuB-ydOOoduejdwdTQwcF9JLTA?e=download Source: %name-%version.tar.xz Source9: prepare-tar.sh -Patch3: muparser-optflags.patch +Patch1: muparser-optflags.patch +Patch2: muparser-abiversion.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ BuildRequires: libtool -BuildRequires: pkgconfig +BuildRequires: pkg-config BuildRequires: xz %description @@ -64,7 +64,7 @@ precalculating constant parts of the expression. %prep %setup -q -%patch -P 3 -p1 +%patch -P 1 -P 2 -p1 %build sh build/autoconf/acregen.sh @@ -76,8 +76,7 @@ make -j1 make install DESTDIR="%buildroot" rm -f "%buildroot/%_libdir"/*.la -%post -n %lname -p /sbin/ldconfig - +%post -n %lname -p /sbin/ldconfig %postun -n %lname -p /sbin/ldconfig %files -n %lname diff --git a/prepare-tar.sh b/prepare-tar.sh index 1ae3d3d..e0a23d3 100644 --- a/prepare-tar.sh +++ b/prepare-tar.sh @@ -1,8 +1,7 @@ #!/bin/sh -ex -in="2_2_3"; -out="2.2.3"; -wget -c "http://downloads.sf.net/muparser/muparser_v$in.zip"; +in="2_2_4"; +out="2.2.4"; unzip "muparser_v$in.zip"; mv "muparser_v$in" "muparser-$out"; find "muparser-$out" -type f "(" -iname "*.dll" -o -iname "*.lib" ")" \