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 Description: 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.
MUST FIX: * Please explain in detail, why you want to include a static lib or disable it (--disable-static). Feel strongly encouraged to do the latter. CONSIDER: * The package contains a testsuite. Consider activating it by adding %check 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: http://mitgcm.org/eh3/fedora_misc/libmatheval-1.1.3-3.src.rpm And I'm not going to bother with the dependency thing--it already builds very quickly.
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 http://mitgcm.org/eh3/fedora_misc/libmatheval-1.1.3-4.src.rpm
* source files match upstream: e88b3429da2758c799e6fbc44ac87416 libmatheval-1.1.3.tar.gz * 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.x86_64.rpm libmatheval.so.1()(64bit) libmatheval = 1.1.3-4.fc6 = /sbin/ldconfig libmatheval.so.1()(64bit) libmatheval-devel-1.1.3-4.fc6.x86_64.rpm libmatheval-devel = 1.1.3-4.fc6 = /bin/sh /sbin/install-info libmatheval = 1.1.3-4.fc6 libmatheval.so.1()(64bit) * %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. APPROVED
Hi Jason, the package built successfully for FC6 and an FC5 branch has been requested. Thank you for the review!