Blame SPECS/libsodium.spec

e4dee6
# Fedora spec file for libsodium
e4dee6
#
e4dee6
# License: MIT
e4dee6
# http://opensource.org/licenses/MIT
e4dee6
#
e4dee6
# Please preserve changelog entries
e4dee6
#
e4dee6
%global libname libsodium
e4dee6
%global soname  26
e4dee6
e4dee6
%if 0%{?fedora}
e4dee6
%bcond_without  mingw
e4dee6
%else
e4dee6
%bcond_with     mingw
e4dee6
%endif
e4dee6
e4dee6
Name:           libsodium
e4dee6
Version:        1.0.20
e4dee6
Release:        2%{?dist}
e4dee6
Summary:        The Sodium crypto library
e4dee6
License:        ISC
e4dee6
URL:            https://libsodium.org/
e4dee6
e4dee6
Source0:        https://download.libsodium.org/libsodium/releases/%{name}-%{version}.tar.gz
e4dee6
Source1:        https://download.libsodium.org/libsodium/releases/%{name}-%{version}.tar.gz.sig
e4dee6
# https://doc.libsodium.org/installation#integrity-checking
e4dee6
Source2:        %{name}.pubkey
e4dee6
e4dee6
e4dee6
BuildRequires: gnupg2
e4dee6
BuildRequires: gcc
e4dee6
BuildRequires: make
e4dee6
e4dee6
%if %{with mingw}
e4dee6
BuildRequires: mingw32-filesystem
e4dee6
BuildRequires: mingw32-gcc
e4dee6
e4dee6
BuildRequires: mingw64-gcc
e4dee6
BuildRequires: mingw64-filesystem
e4dee6
%endif
e4dee6
e4dee6
# manage update from 3rd party repository
e4dee6
Obsoletes:      %{libname}%{soname} <= %{version}
e4dee6
e4dee6
e4dee6
%description
e4dee6
Sodium is a new, easy-to-use software library for encryption, decryption, 
e4dee6
signatures, password hashing and more. It is a portable, cross-compilable, 
e4dee6
installable, packageable fork of NaCl, with a compatible API, and an extended 
e4dee6
API to improve usability even further. Its goal is to provide all of the core 
e4dee6
operations needed to build higher-level cryptographic tools. The design 
e4dee6
choices emphasize security, and "magic constants" have clear rationales.
e4dee6
e4dee6
The same cannot be said of NIST curves, where the specific origins of certain 
e4dee6
constants are not described by the standards. And despite the emphasis on 
e4dee6
higher security, primitives are faster across-the-board than most 
e4dee6
implementations of the NIST standards.
e4dee6
e4dee6
e4dee6
%package        devel
e4dee6
Summary:        Development files for %{name}
e4dee6
Requires:       %{name}%{?_isa} = %{version}-%{release}
e4dee6
Obsoletes:      %{libname}%{soname}-devel <= %{version}
e4dee6
e4dee6
%description    devel
e4dee6
This package contains libraries and header files for
e4dee6
developing applications that use %{name} libraries.
e4dee6
e4dee6
%package        static
e4dee6
Summary:        Static library for %{name}
e4dee6
Requires:       %{name}-devel%{?_isa} = %{version}-%{release}
e4dee6
Obsoletes:      %{libname}%{soname}-static <= %{version}
e4dee6
e4dee6
%description    static
e4dee6
This package contains the static library for statically
e4dee6
linking applications to use %{name}.
e4dee6
e4dee6
%if %{with mingw}
e4dee6
%package -n     mingw32-%{name}
e4dee6
Summary:        MinGW compiled %{name} library for Win32 target
e4dee6
BuildArch:      noarch
e4dee6
e4dee6
%description -n mingw32-%{name}
e4dee6
This package contains the MinGW compiled library of %{name}
e4dee6
for Win32 target.
e4dee6
e4dee6
%package -n     mingw64-%{name}
e4dee6
Summary:        MinGW compiled %{name} library for Win64 target
e4dee6
BuildArch:      noarch
e4dee6
e4dee6
%description -n mingw64-%{name}
e4dee6
This package contains the MinGW compiled library of %{name}
e4dee6
for Win64 target.
e4dee6
e4dee6
%{?mingw_debug_package}
e4dee6
%endif
e4dee6
e4dee6
e4dee6
%prep
e4dee6
%{?gpgverify:%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'}
e4dee6
e4dee6
%setup -q
e4dee6
e4dee6
e4dee6
%build
e4dee6
# This package has a configure test which uses ASMs, but does not link the
e4dee6
# resultant .o files.  As such the ASM test is always successful, even on
e4dee6
# architectures were the ASM is not valid when compiling with LTO.
e4dee6
#
e4dee6
# -ffat-lto-objects is sufficient to address this issue.  It is the default
e4dee6
# for F33, but is expected to only be enabled for packages that need it in
e4dee6
# F34, so we use it here explicitly
e4dee6
%define _lto_cflags -flto=auto -ffat-lto-objects
e4dee6
e4dee6
mkdir build_native
e4dee6
pushd build_native
e4dee6
%global _configure ../configure
e4dee6
%configure \
e4dee6
  --disable-silent-rules \
e4dee6
  --disable-opt
e4dee6
e4dee6
%make_build
e4dee6
popd
e4dee6
e4dee6
%if %{with mingw}
e4dee6
%mingw_configure \
e4dee6
  --disable-silent-rules \
e4dee6
  --disable-opt
e4dee6
e4dee6
%mingw_make_build
e4dee6
%endif
e4dee6
e4dee6
e4dee6
%install
e4dee6
%make_install -C build_native
e4dee6
e4dee6
rm %{buildroot}%{_libdir}/%{libname}.la
e4dee6
e4dee6
%if %{with mingw}
e4dee6
%mingw_make_install
e4dee6
rm %{buildroot}%{mingw32_libdir}/libsodium.a
e4dee6
rm %{buildroot}%{mingw64_libdir}/libsodium.a
e4dee6
%mingw_debug_install_post
e4dee6
%endif
e4dee6
e4dee6
e4dee6
%check
e4dee6
make -C build_native check
e4dee6
e4dee6
e4dee6
%files
e4dee6
%license LICENSE
e4dee6
%{_libdir}/%{libname}.so.%{soname}*
e4dee6
e4dee6
%files devel
e4dee6
%doc AUTHORS ChangeLog README.markdown THANKS
e4dee6
%doc test/default/*.{c,exp,h}
e4dee6
%doc test/quirks/quirks.h
e4dee6
%{_includedir}/sodium.h
e4dee6
%{_includedir}/sodium/
e4dee6
%{_libdir}/%{libname}.so
e4dee6
%{_libdir}/pkgconfig/%{libname}.pc
e4dee6
e4dee6
%files static
e4dee6
%{_libdir}/libsodium.a
e4dee6
e4dee6
%if %{with mingw}
e4dee6
%files -n mingw32-%{name}
e4dee6
%license LICENSE
e4dee6
%{mingw32_bindir}/*.{dll,def}
e4dee6
%{mingw32_includedir}/sodium.h
e4dee6
%{mingw32_includedir}/sodium/
e4dee6
%{mingw32_libdir}/pkgconfig/libsodium.pc
e4dee6
%{mingw32_libdir}/libsodium.dll.a
e4dee6
e4dee6
%files -n mingw64-%{name}
e4dee6
%license LICENSE
e4dee6
%{mingw64_bindir}/*.{dll,def}
e4dee6
%{mingw64_includedir}/sodium.h
e4dee6
%{mingw64_includedir}/sodium/
e4dee6
%{mingw64_libdir}/pkgconfig/libsodium.pc
e4dee6
%{mingw64_libdir}/libsodium.dll.a
e4dee6
%endif
e4dee6
e4dee6
e4dee6
%changelog
e4dee6
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.20-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
e4dee6
e4dee6
* Mon May 27 2024 Remi Collet <remi@remirepo.net> - 1.0.20-1
e4dee6
- update to 1.0.20
e4dee6
e4dee6
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.19-4
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
e4dee6
e4dee6
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.19-3
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
e4dee6
e4dee6
* Wed Nov 08 2023 Marian Koncek <mkoncek@redhat.com> - 1.0.19-2
e4dee6
- Make mingw subpackages noarch
e4dee6
e4dee6
* Wed Sep 13 2023 Remi Collet <remi@remirepo.net> - 1.0.19-1
e4dee6
- update to 1.0.19
e4dee6
- soname is 26
e4dee6
e4dee6
* Mon Aug 21 2023 Marian Koncek <mkoncek@redhat.com> - 1.0.18-14
e4dee6
- Add mingw subpackages
e4dee6
e4dee6
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-13
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
e4dee6
e4dee6
* Fri Apr 21 2023 Remi Collet <remi@remirepo.net> - 1.0.18-12
e4dee6
- check archive signature
e4dee6
e4dee6
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-11
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
e4dee6
e4dee6
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-10
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
e4dee6
e4dee6
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-9
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
e4dee6
e4dee6
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-8
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
e4dee6
e4dee6
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-7
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
e4dee6
e4dee6
* Fri Aug 21 2020 Jeff Law <law@redhat.com> - 1.0.18-6
e4dee6
- Re-enable LTO
e4dee6
e4dee6
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-5
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
e4dee6
e4dee6
* Tue Jul 14 2020 Jeff Law <law@redhat.com> - 1.0.18-4
e4dee6
- Disable LTO
e4dee6
e4dee6
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-3
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
e4dee6
e4dee6
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.18-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
e4dee6
e4dee6
* Mon Jun  3 2019 Remi Collet <remi@remirepo.net> - 1.0.18-1
e4dee6
- update to 1.0.18
e4dee6
e4dee6
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.17-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
e4dee6
e4dee6
* Mon Jan  7 2019 Remi Collet <remi@remirepo.net> - 1.0.17-1
e4dee6
- update to 1.0.17
e4dee6
e4dee6
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.16-5
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
e4dee6
e4dee6
* Tue Feb 20 2018 Remi Collet <remi@remirepo.net> - 1.0.16-4
e4dee6
- missing BR on C compiler
e4dee6
- drop ldconfig scriptlets
e4dee6
e4dee6
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.16-3
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
e4dee6
e4dee6
* Wed Dec 13 2017 Remi Collet <remi@remirepo.net> - 1.0.16-1
e4dee6
- update to 1.0.16
e4dee6
e4dee6
* Sun Oct  1 2017 Remi Collet <remi@remirepo.net> - 1.0.15-1
e4dee6
- update to 1.0.15
e4dee6
- soname bump to 23
e4dee6
- manage update from libsodium23 (3rd party repository)
e4dee6
e4dee6
* Fri Sep 22 2017 Remi Collet <remi@remirepo.net> - 1.0.14-1
e4dee6
- update to 1.0.14
e4dee6
- manage update from libsodium-last (3rd party repository)
e4dee6
e4dee6
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.13-3
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
e4dee6
e4dee6
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.13-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
e4dee6
e4dee6
* Mon Jul 17 2017 Remi Collet <remi@fedoraproject.org> - 1.0.13-1
e4dee6
- update to 1.0.13
e4dee6
e4dee6
* Mon Mar 13 2017 Remi Collet <remi@fedoraproject.org> - 1.0.12-1
e4dee6
- update to 1.0.12
e4dee6
e4dee6
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.11-3
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
e4dee6
e4dee6
* Mon Dec 12 2016 Neal Gompa <ngompa13@gmail.com> - 1.0.11-2
e4dee6
- Add static library subpackage
e4dee6
e4dee6
* Mon Aug  1 2016 Remi Collet <remi@fedoraproject.org> - 1.0.11-1
e4dee6
- update to 1.0.11
e4dee6
e4dee6
* Tue Apr  5 2016 Remi Collet <remi@fedoraproject.org> - 1.0.10-1
e4dee6
- update to 1.0.10
e4dee6
e4dee6
* Sat Apr  2 2016 Remi Collet <remi@fedoraproject.org> - 1.0.9-1
e4dee6
- update to 1.0.9
e4dee6
e4dee6
* Mon Mar  7 2016 Remi Collet <remi@fedoraproject.org> - 1.0.8-1
e4dee6
- update to 1.0.8
e4dee6
- soname bump to 18
e4dee6
- fix license management
e4dee6
e4dee6
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.5-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
e4dee6
e4dee6
* Sun Oct 25 2015 Christopher Meng <rpm@cicku.me> - 1.0.5-1
e4dee6
- Update to 1.0.5
e4dee6
e4dee6
* Mon Jul 13 2015 Christopher Meng <rpm@cicku.me> - 1.0.3-1
e4dee6
- Update to 1.0.3
e4dee6
e4dee6
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.0.2-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
e4dee6
e4dee6
* Fri Jan 23 2015 Christopher Meng <rpm@cicku.me> - 1.0.2-1
e4dee6
- Update to 1.0.2
e4dee6
e4dee6
* Sat Nov 22 2014 Christopher Meng <rpm@cicku.me> - 1.0.1-1
e4dee6
- Update to 1.0.1
e4dee6
e4dee6
* Sat Oct 18 2014 Christopher Meng <rpm@cicku.me> - 1.0.0-1
e4dee6
- Update to 1.0.0
e4dee6
e4dee6
* Sun Aug 24 2014 Christopher Meng <rpm@cicku.me> - 0.7.0-1
e4dee6
- Update to 0.7.0
e4dee6
e4dee6
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.6.1-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
e4dee6
e4dee6
* Thu Jul 17 2014 Christopher Meng <rpm@cicku.me> - 0.6.1-1
e4dee6
- Update to 0.6.1
e4dee6
e4dee6
* Thu Jul 03 2014 Christopher Meng <rpm@cicku.me> - 0.6.0-1
e4dee6
- Update to 0.6.0
e4dee6
e4dee6
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-2
e4dee6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
e4dee6
e4dee6
* Fri May 16 2014 Christopher Meng <rpm@cicku.me> - 0.5.0-1
e4dee6
- Update to 0.5.0
e4dee6
e4dee6
* Mon Dec 09 2013 Christopher Meng <rpm@cicku.me> - 0.4.5-3
e4dee6
- Disable silent build rules.
e4dee6
- Preserve the timestamp.
e4dee6
e4dee6
* Wed Nov 20 2013 Christopher Meng <rpm@cicku.me> - 0.4.5-2
e4dee6
- Add doc for devel package.
e4dee6
- Add support for EPEL6.
e4dee6
e4dee6
* Wed Nov 20 2013 Christopher Meng <rpm@cicku.me> - 0.4.5-1
e4dee6
- Update to 0.4.5
e4dee6
e4dee6
* Wed Jul 10 2013 Christopher Meng <rpm@cicku.me> - 0.4.2-2
e4dee6
- Drop useless files.
e4dee6
- Improve the description.
e4dee6
e4dee6
* Wed Jul 10 2013 Christopher Meng <rpm@cicku.me> - 0.4.2-1
e4dee6
- Initial Package.