Red Hat Bugzilla – Bug 207781
Review Request: libmatheval - parse and evaluate symbolic expressions
Last modified: 2007-11-30 17:11:44 EST
Spec URL: http://mitgcm.org/eh3/fedora_misc/libmatheval.spec
SRPM URL: http://mitgcm.org/eh3/fedora_misc/libmatheval-1.1.3-2.fc6.src.rpm
GNU libmatheval is a library (callable from C and Fortran) to parse
and evaluate symbolic expressions input as text. It supports
expressions in any number of variables of arbitrary names, decimal and
symbolic constants, basic unary and binary operators, and elementary
mathematical functions. In addition to parsing and evaluation,
libmatheval can also compute symbolic derivatives and output
expressions to strings.
* Please explain in detail, why you want to include a static lib
or disable it (--disable-static). Feel strongly encouraged to do the latter.
* The package contains a testsuite.
Consider activating it by adding
make check ||:
* The package's configuration supports --disable-dependency-tracking.
Adding it somewhat reduces the time required to build (but this package is
small, so this doesn't really matter).
Hi Ralf, thanks for the quick comments. I dropped the static lib, added
the check, and heres a re-spin:
And I'm not going to bother with the dependency thing--it already builds
This crops up during a mock build:
/builddir/build/BUILD/libmatheval-1.1.3/config/missing: line 52: makeinfo:
command not found
WARNING: `makeinfo' is missing on your system. You should only need it if
you modified a `.texi' or `.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy `make' (AIX,
DU, IRIX). You might want to install the `Texinfo' package or
the `GNU make' package. Grab either from any GNU archive site.
Indeed, you do modify a .texi file so you'll need a BR: texinfo.
Also, one of the tests fails on my platform (x86_64, rawhide):
Checking evaluating functions.
5: Check functions. FAILED (functions.at:423)
Unfortunately you have ||: at the end of the make check line so the build
continues when it really should fail and thus deletes the test log. I've
rebuilt without that bit and will attach the generated testsuite.log.
Created attachment 137005 [details]
Log from failing test suite.
Hi Jason, thatanks for taking a look. I spent some time today digging
into the "make check" errors and it turns out that there are some
deprecated guile bits which are:
SCM_STRINGP is deprecated. Use scm_is_string instead.
SCM_LENGTH is deprecated. Use scm_c_string_length instead,
for example, or see the manual.
SCM_STRING_LENGTH is deprecated. Use scm_c_string_length instead.
SCM_CHARS is deprecated. See the manual for alternatives.
SCM_STRING_CHARS is deprecated. See the manual for alternatives.
The interesting thing is that these deprecated bits *ONLY* appear
in the the file "libmatheval-1.1.3/tests/matheval.c" and nowhere else
in the actual libmatheval code.
So it appears that there are some deprecated bits only in the testing
code that then triggers some warnings that then causes one of the tests
(test number 5) to "fail" (although the test actually works, it just
emits a bunch of these warnings so that the test script *thinks* that
it has failed).
In any case, I'll report the deprecated bits in the testing code to
the upstream folks. But I see no reason to do anything else since
there appear to be no other deprecated (or otherwise broken) bits in
any of the actual library code.
Here's an update that includes the BR: texinfo
* source files match upstream:
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
* build root is correct.
* license field matches the actual license.
* license is open source-compatible. License text included in package.
* latest version is being packaged.
* BuildRequires are proper.
* compiler flags are appropriate.
* %clean is present.
* package builds in mock (development, x86_64).
* package installs properly
* debuginfo package looks complete.
* rpmlint is silent.
* final provides and requires are sane:
libmatheval = 1.1.3-4.fc6
libmatheval-devel = 1.1.3-4.fc6
libmatheval = 1.1.3-4.fc6
* %check is present and all tests pass (except for the one failure explained above):
ERROR: All 7 tests were run,
1 failed unexpectedly.
* shared libraries are added and ldconfig is run appropriately.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* scriptlets are OK (ldconfig, install-info)
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* headers are in the -devel subpackage.
* unversioned .so files are in the -devel subpackage.
* no pkgconfig files.
* no libtool .la droppings.
Hi Jason, the package built successfully for FC6 and an FC5 branch has been
requested. Thank you for the review!