## START: Set by rpmautospec ## (rpmautospec version 0.7.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global giturl https://github.com/algebraic-solving/msolve Name: msolve Version: 0.7.3 Release: %autorelease Summary: Polynomial System Solving through Algebraic Methods # GPL-2.0-or-later: The project as a whole # LGPL-2.1-or-later: # - src/crt/longlong.h # - src/crt/ulong_extras.h # - src/fglm/berlekamp_massey.c License: GPL-2.0-or-later AND LGPL-2.1-or-later URL: https://msolve.lip6.fr/ VCS: git:%{giturl}.git Source: %{giturl}/archive/v%{version}/%{name}-%{version}.tar.gz # Detect AVX2 support at runtime instead of compile time Patch: %{name}-avx2.patch # See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval ExcludeArch: %{ix86} BuildRequires: autoconf BuildRequires: automake BuildRequires: flint-devel BuildRequires: gcc BuildRequires: help2man BuildRequires: libtool BuildRequires: make BuildRequires: pkgconfig(gmp) BuildRequires: pkgconfig(mpfr) Requires: %{name}-libs%{?_isa} = %{version}-%{release} %global _desc %{expand: msolve is an open source C library implementing computer algebra algorithms for solving polynomial systems (with rational coefficients or coefficients in a prime field). Currently, with msolve, you can basically solve multivariate polynomial systems. This encompasses: - the computation of Groebner bases - real root isolation of the solutions to polynomial systems - the computation of the dimension and the degree of the solution set and many other things you can do using msolve.} %description %_desc This package contains a command line tool to access the msolve functionality. %package libs Summary: Library for Polynomial System Solving through Algebraic Methods %description libs %_desc %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: gmp-devel%{?_isa} %description devel Header files and library links for developing applications that use msolve. %prep %autosetup -p1 # Fix the pkgconfig file sed -i 's/ -lflint -lmpfr -lgmp/\nLibs.private:&/' msolve.pc.in # Generate the configure script ./autogen.sh %build %configure --enable-openmp --disable-static # Get rid of undesirable hardcoded rpaths; workaround libtool reordering # -Wl,--as-needed after all the libraries. sed -e 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' \ -e 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' \ -e 's|CC="\(.*g..\)"|CC="\1 -Wl,--as-needed"|' \ -i libtool %make_build %install %make_install rm %{buildroot}%{_libdir}/*.la # Install the header files, swizzling #include directives along the way mkdir -p %{buildroot}%{_includedir}/msolve cd src/msolve for h in *.h; do sed -e '/#include/s,"\.\./\(neogb/[[:alnum:]_-]*\.h\)",<\1>,' \ -e '/#include/s,"\([[:alnum:]_-]*\.h\)",,' $h > \ %{buildroot}%{_includedir}/msolve/$h touch -r $h %{buildroot}%{_includedir}/msolve/$h done cd - mkdir -p %{buildroot}%{_includedir}/neogb cd src/neogb for h in *.h; do sed '/#include/s,"\([[:alnum:]_-]*\.h\)",,' $h > \ %{buildroot}%{_includedir}/neogb/$h touch -r $h %{buildroot}%{_includedir}/neogb/$h done cd - # Create a man page export LD_LIBRARY_PATH=%{buildroot}%{_libdir} mkdir -p %{buildroot}%{_mandir}/man1 help2man -N -v %{version} %{buildroot}%{_bindir}/msolve \ -n 'Polynomial System Solving through Algebraic Methods' \ > %{buildroot}%{_mandir}/man1/msolve.1 %check make check %files %{_bindir}/msolve %{_mandir}/man1/msolve.1* %files libs %doc AUTHORS README.md %license COPYING %{_libdir}/libmsolve.so.0* %{_libdir}/libneogb.so.0* %files devel %{_includedir}/msolve/ %{_includedir}/neogb/ %{_libdir}/libmsolve.so %{_libdir}/libneogb.so %{_libdir}/pkgconfig/msolve.pc %changelog ## START: Generated by rpmautospec * Tue Oct 15 2024 Jerry James - 0.7.3-1 - Version 0.7.3 * Fri Sep 20 2024 Jerry James - 0.7.2-1 - Version 0.7.2 * Wed Jul 31 2024 Jerry James - 0.7.1-1 - Version 0.7.1 * Tue Jul 30 2024 Jerry James - 0.7.0-1 - Version 0.7.0 * Fri Jul 26 2024 Jerry James - 0.6.8-1 - Version 0.6.8 * Sun Jul 21 2024 Jerry James - 0.6.7-1 - Version 0.6.7 * Thu Jul 18 2024 Fedora Release Engineering - 0.6.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Wed Jul 03 2024 Jerry James - 0.6.6-1 - Version 0.6.6 * Wed Mar 13 2024 Jerry James - 0.6.5-2 - Rebuild for flint 3.1.0 * Tue Feb 27 2024 Jerry James - 0.6.5-1 - Version 0.6.5 * Sat Feb 10 2024 Jerry James - 0.6.4-1 - Version 0.6.4 * Thu Jan 25 2024 Fedora Release Engineering - 0.6.3-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Jan 21 2024 Fedora Release Engineering - 0.6.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Sun Dec 17 2023 Jerry James - 0.6.3-1 - Version 0.6.3 * Fri Dec 15 2023 Jerry James - 0.6.2-1 - Version 0.6.2 * Fri Nov 03 2023 Jerry James - 0.6.1-1 - Version 0.6.1 * Mon Oct 30 2023 Jerry James - 0.6.0-1 - Version 0.6.0 * Thu Aug 10 2023 Jerry James - 0.5.0-2 - Use more reliable method of detecting AVX2 support * Thu Aug 03 2023 Jerry James - 0.5.0-1 - Initial RPM ## END: Generated by rpmautospec