## START: Set by rpmautospec
## (rpmautospec version 0.7.3)
## RPMAUTOSPEC: autorelease, autochangelog
%define autorelease(e:s:pb:n) %{?-p:0.}%{lua:
    release_number = 47;
    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

%bcond autoreconf 1

Name:           iml
Version:        1.0.5
%global so_version 0
Release:        %autorelease
Summary:        Finds solutions to systems of linear equations over integers

# Actual license of source files is BSD-3-Clause, as documented in header
# comments. The source archive includes a license file COPYING that contains
# GPLv2 text, but the only files in the archive with that license belong to the
# Autotools build system. This was clarified by email; see Source1.
#
# On 12/10/21 13:32, Arne Storjohann wrote:
# > Hi Ben,
# >
# > Our intention was to go with a BSD-style license, the one in the source
# > code files.
# > […]
#
# The following files with other licenses belong to the build system and do not
# affect the license of the binary RPMs:
#   - aclocal.m4, config/ltoptions.m4, config/ltsugar.m4, config/ltversion.m4,
#     and config/lt~obsolete.m4 are FSFULLR
#   - bootstrap, compile, depcomp, ltmain.sh, missing, config/compile,
#     config/config.guess, config/config.sub, config/depcomp, config/ltmain.sh
#     and config/missing are GPL-2.0-or-later
#   - config.guess and config.sub are GPL-3.0-or-later
#   - configure is FSFUL, or, more likely, (FSFUL AND BSD-3-Clause)
#   - install-sh and config/install-sh are X11
#   - config/libtool.m4 is (FSFULLR AND GPL-2.0-or-later)
License:        BSD-3-Clause
URL:            https://cs.uwaterloo.ca/~astorjoh/iml.html
Source0:        https://cs.uwaterloo.ca/~astorjoh/iml-%{version}.tar.bz2
Source1:        iml-license-clarification.eml

# See https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch:    %{ix86}

BuildRequires:  gcc
BuildRequires:  make

%if %{with autoreconf}
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  libtool
%endif

BuildRequires:  gmp-devel
BuildRequires:  pkgconfig(flexiblas)

%description
IML provides efficient routines to compute exact solutions to dense systems of
linear equations over the integers. The following functionality is provided:
  • Nonsingular rational system solving.
  • Compute the right nullspace of an integer matrix.
  • Certified linear system solving.


%package        devel
Summary:        Development files for iml

Requires:       iml%{?_isa} = %{version}-%{release}
Requires:       gmp-devel%{?_isa}
Requires:       flexiblas-devel%{?_isa}

%description    devel
The iml-devel package contains libraries and header files for developing
applications that use iml.


%prep
%autosetup
cp -p '%{SOURCE1}' .
awk  '/Copyright notice/ {n=1}; n && /\*\// {n=0}; n' src/iml.h |
  sed -r 's/^ \* ?//' > LICENSE
rm -v cblas.h


%conf
%if %{with autoreconf}
autoreconf --force --install --verbose
%endif

%configure \
  --enable-shared \
  --disable-static \
  --with-cblas="$(pkgconf --libs flexiblas)" \
  --with-cblas-include="$(pkgconf --cflags flexiblas | sed -r 's/^-I//')"

# Get rid of undesirable hardcoded rpaths; work around 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..|& -Wl,--as-needed|' \
    -i libtool


%build
%make_build


%install
%make_install

# Remove libtool library file
find '%{buildroot}' -type f -name '*.la' -print -delete
# This contains the files “liblink” and “libroutines”, which are actually
# documentation and should be installed in a documentation directory.
rm -vrf '%{buildroot}%{_datadir}/iml'


%check
LD_LIBRARY_PATH="${PWD}/src/.libs" %make_build check


%files
%license LICENSE iml-license-clarification.eml
%doc AUTHORS
%doc README
%{_libdir}/libiml.so.%{so_version}{,.*}


%files devel
%doc doc/liblink
%doc doc/libroutines
%doc examples/
%{_includedir}/iml.h
%{_libdir}/libiml.so


%changelog
## START: Generated by rpmautospec
* Fri Nov 01 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-47
- Invoke autoreconf and configure in %%conf rather than in %%build

* Fri Nov 01 2024 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-46
- Run autoreconf (re-generate configure) by default

* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Tue Jan 16 2024 Jerry James <loganjerry@gmail.com> - 1.0.5-41
- Stop building for 32-bit x86

* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-40
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Tue Dec 20 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-38
- Indicate dirs. in files list with trailing slashes

* Tue Dec 20 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-37
- Trivially simplify a files list

* Fri Aug 05 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-36
- Update License to SPDX (BSD → BSD-3-Clause)

* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Sat Apr 23 2022 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-34
- Trivial formatting harmonization with EPEL9 spec

* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Fri Dec 24 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-32
- Drop the iml-static subpackage

* Fri Dec 24 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-31
- Per guidelines, package the actual license clarification email

* Sat Dec 11 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-30
- Fix passing flexiblas include path to configure

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-29
- Tighten -devel %%%%files list

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-28
- Do not glob over soversion

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-27
- License clarification/license file

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-26
- Remove obsolete ldconfig_scriptlets macro

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-25
- Use flexiblas unconditionally; find it with pkgconf

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-24
- Reduce macro indirection in spec file

* Fri Dec 10 2021 Benjamin A. Beasley <code@musicinmybrain.net> - 1.0.5-23
- Style tweaks according to personal preference

* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Thu Aug 13 2020 Iñaki Úcar <iucar@fedoraproject.org> - 1.0.5-15
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager

* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild

* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 1.0.5-13
- Use make macros
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro

* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild

* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Tue Oct  2 2018 Jerry James <loganjerry@gmail.com> - 1.0.5-9
- Try again to build with openblas instead of atlas (bz 1618946)

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Thu Sep 28 2017 Jerry James <loganjerry@gmail.com> - 1.0.5-6
- Revert to atlas; openblas caused problems on s390x

* Wed Sep 27 2017 Jerry James <loganjerry@gmail.com> - 1.0.5-5
- Build with openblas instead of atlas

* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild

* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild

* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild

* Mon Jan 18 2016 Jerry James <loganjerry@gmail.com> - 1.0.5-1
- New upstream release

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Mon Aug  4 2014 Jerry James <loganjerry@gmail.com> - 1.0.4-1
- New upstream release
- All patches and typo fixes have been applied upstream

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Thu Oct  3 2013 Jerry James <loganjerry@gmail.com> - 1.0.3-8
- Update project and source URLs

* Sat Sep 21 2013 Jerry James <loganjerry@gmail.com> - 1.0.3-7
- Rebuild for atlas 3.10.1

* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild

* Tue Mar 26 2013 Jerry James <loganjerry@gmail.com> - 1.0.3-5
- Support building on aarch64 (bz 925584)

* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild

* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild

* Sat Jan  7 2012 Jerry James <loganjerry@gmail.com> - 1.0.3-2
- Rebuild for GCC 4.7

* Wed Oct 26 2011 Marcela Mašláňová <mmaslano@redhat.com> - 1.0.3-1.1
- rebuild with new gmp

* Tue Apr 26 2011 Jerry James <loganjerry@gmail.com> - 1.0.3-1
- New upstream release
- Fix URL
- Update description from the web site
- Drop BuildRoot tag, clean script, and clean at start of install script
- Move static library into a -static subpackage
- Fix code typo in iml 1.0.3

* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild

* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild

* Thu Feb 26 2009 Conrad Meyer <konrad@tylerc.org> - 1.0.2-6
- Fix FTBFS errors.

* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild

* Mon Oct 27 2008 Conrad Meyer <konrad@tylerc.org> - 1.0.2-4
- Oops, don't depend on the main package which no longer exists in -devel.

* Fri Oct 17 2008 Conrad Meyer <konrad@tylerc.org> - 1.0.2-2
- Only generate one binary package.
- Add %%check.

* Sun Oct 12 2008 Conrad Meyer <konrad@tylerc.org> - 1.0.2-1
- Initial package.

## END: Generated by rpmautospec