%define build_compat32 %{?_with_compat32:1}%{!?_with_compat32:0}

Name:         libatomic_ops
Summary:      Atomic memory update operations
Version:      7.8.0
Release:      1%{?_dist_release}
Group:        system
# libatomic_ops MIT, libatomic_ops_gpl GPLv2
License: GPLv2 and MIT
URL:          https://github.com/ivmai/libatomic_ops/
Vendor:       Project Vine
Distribution: Vine Linux

Source0:      https://github.com/ivmai/libatomic_ops/releases/download/v%{version}/libatomic_ops-%{version}.tar.gz
# updated GPLv2 license text

%description
Provides implementations for atomic memory update operations on a
number of architectures. This allows direct use of these in reasonably
portable code. Unlike earlier similar packages, this one explicitly
considers memory barrier semantics, and allows the construction of code
that involves minimum overhead across a variety of architectures.


%package devel
Summary: Development files for %{name}
Group: programming
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Files for developing with %{name}.


%package static
Summary: Static library files for %{name}
Group: programming
Requires: %{name}-devel%{?_isa} = %{version}-%{release}
%description static
Files for developing with %{name} and linking statically.


%package -n compat32-%{name}
Summary:  Atomic memory update operations
Group: system,legacy
Requires: %{name} = %{version}-%{release}
%description -n compat32-%{name}
Provides implementations for atomic memory update operations on a
number of architectures. This allows direct use of these in reasonably
portable code. Unlike earlier similar packages, this one explicitly
considers memory barrier semantics, and allows the construction of code
that involves minimum overhead across a variety of architectures.


%package -n compat32-%{name}-devel
Summary:  Development files for %{name}
Group: programming,legacy
Requires: compat32-%{name} = %{version}-%{release}
Requires: %{name}-devel = %{version}-%{release}
%description -n compat32-%{name}-devel
Files for developing with %{name}.


%debug_package


%prep
%autosetup -p1


%build
%configure \
  --enable-shared \
  --disable-silent-rules

make %{?_smp_mflags}


%install
make install DESTDIR=%{buildroot}

## unpackaged files
rm -fv %{buildroot}%{_libdir}/lib*.la
# omit dup'd docs
rm -fv %{buildroot}%{_datadir}/libatomic_ops/{COPYING,README*,*.txt}
rm -rf %{buildroot}%{_docdir}/libatomic_ops


%check
export LD_LIBRARY_PATH=%{_builddir}/%{name}-%{version}/src/.libs/
%make_build check


%files
%license COPYING LICENSE
%doc AUTHORS ChangeLog README.md
%{_libdir}/libatomic_ops.so.1*
%{_libdir}/libatomic_ops_gpl.so.1*

%files devel
%doc README_*.txt
%{_includedir}/atomic_ops.h
%{_includedir}/atomic_ops_malloc.h
%{_includedir}/atomic_ops_stack.h
%{_includedir}/atomic_ops/
%{_libdir}/libatomic_ops.so
%{_libdir}/libatomic_ops_gpl.so
%{_libdir}/pkgconfig/atomic_ops.pc

%files static
%{_libdir}/libatomic_ops.a
%{_libdir}/libatomic_ops_gpl.a

%if %{build_compat32}
%files -n compat32-%{name}
%defattr(-,root,root)
%{_libdir}/libatomic_ops.so.1*
%{_libdir}/libatomic_ops_gpl.so.1*

%files -n compat32-%{name}-devel
%defattr(-,root,root)
%{_libdir}/libatomic_ops.so
%{_libdir}/libatomic_ops_gpl.so
%{_libdir}/pkgconfig/atomic_ops.pc
%endif


%changelog
* Mon Apr 10 2023 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 7.8.0-1
- new upstream release.

* Fri Nov 18 2022 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 7.6.14-1
- new upstream release.
- dropped ldconfig scriptlets.

* Tue Sep 10 2019 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 7.6.10-1
- new upstream release.
- dropped all patches.

* Sat Jul 2 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 7.4.4-4
- added compat32 packages.

* Sat Jul  2 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 7.4.4-3
- fixed %%changelog.

* Fri Jul  1 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> - 7.4.4-2
- imported all stuff from rawhide.

  * Fri Jun 17 2016 Rex Dieter <rdieter@fedoraproject.org> - 7.4.4-1
  - libatomic_ops-7.4.4 (#1346524)

  * Mon Mar 28 2016 Rex Dieter <rdieter@fedoraproject.org> 7.4.2-9
  - make check fails on test_stack for ppc64le arch (#1096574), drop reference to 0032.patch

  * Mon Mar 28 2016 Rex Dieter <rdieter@fedoraproject.org> - 7.4.2-8
  - pull in upstream (7.4 branch) fixes
  - Add support for 64-bit MIPS (#1317509)
  - use %%license

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

  * Tue Jul  7 2015 Peter Robinson <pbrobinson@fedoraproject.org> 7.4.2-6
  - Don't fail check on aarch64

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

  * Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 7.4.2-4
  - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

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

  * Tue May 13 2014 Rex Dieter <rdieter@fedoraproject.org> 7.4.2-2
  - link libatomic_ops_gpl against libatomic_ops for missing symbol(s)

  * Tue May 13 2014 Rex Dieter <rdieter@fedoraproject.org> 7.4.2-1
  - libatomic_opts-7.4.2
  - new upstream/source URLs
  - %%check: skip ppc64le too
  - License: MIT and GPLv2
  - update/longer %%description
  - updated GPLv2 license text (with correct address)

  * Wed Dec 04 2013 Rex Dieter <rdieter@fedoraproject.org>  7.4.0-1
  - separate libatomic_ops lives again!

  * Fri Jul 24 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-8.gc
  - use gc tarball, tag gc release

  * Thu Jul 23 2009 Rex Dieter <rdieter@fedoraproject.org> - 1.2-7
  - devel: Provides: %%name-static ...
  - consolidate %%doc's
  - %%files: track libs

  * Wed May 20 2009 Dan Horak <dan[t]danny.cz> - 1.2-6
  - added fix for s390

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

  * Thu May 22 2008 Jon Stanley <jonstanley@gmail.com> - 1.2-4
  - Fix license tag

* Thu Jul 10 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 1.2-1
- initial build for Vine Linux

* Mon Feb 18 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.2-3
- Autorebuild for GCC 4.3

* Tue May 29 2007 Pierre Ossman <drzeus@drzeus.cx> 1.2-2
- Added fix for PPC AO_load_acquire.

* Fri Nov 10 2006 Pierre Ossman <drzeus@drzeus.cx> 1.2-1
- Update to 1.2.

* Sat Sep  9 2006 Pierre Ossman <drzeus@drzeus.cx> 1.1-2
- Fix naming of package.
- General cleanup of spec file.

* Wed Aug 30 2006 Pierre Ossman <drzeus@drzeus.cx> 1.1-1
- Initial package for Fedora Extras.
