# The test suite is normally run. It can be disabled with "--without=check". %bcond_without check # Upstream source information. %global upstream_owner persan %global upstream_name zeromq-Ada %global upstream_commit_date 20240319 %global upstream_commit 01211f82e40142074e2d2002558209c750085537 %global upstream_shortcommit %(c=%{upstream_commit}; echo ${c:0:7}) Name: zeromq-ada Version: 4.1.5 Release: 16.%{upstream_commit_date}git%{upstream_shortcommit}%{?dist} Summary: Ada binding for ZeroMQ License: MIT AND GPL-2.0-or-later WITH GNAT-exception # According to the upstream commit history, the license of this library was # changed to MIT on Apr 8, 2021 though some source files (libzmq.gpr.in, # zmq.gpr and zmq.gpr.inst) still show the previous license, GPL-2.0-or-later # with GNAT-exception. URL: https://zeromq.org Source0: https://github.com/%{upstream_owner}/%{upstream_name}/archive/%{upstream_commit}.tar.gz#/%{name}-%{upstream_shortcommit}.tar.gz # [Fedora-specific] Remove Python and Makefile languages from the ZMQ # GPRbuild-file. These languages are only used during the development of the # bindings/library and are of no relevence to the user of the bindings. Patch: %{name}-remove-unnecessary-languages.patch # [Fedora-specific] Indicate that the examples depend on GNATcoll Core. Patch: %{name}-add-gnatcoll-core-dependency-to-zmq-example.patch # [Fedora-specific] Update the GPRbuild project for building the test suite. # Note that we want to run the test suite against the Ada bindings installed # in the buildroot and must therefore remove any reference to packages that # are only defined in the ZMQ project in the source tree. # # - Remove the `helpers' project; the dependency isn't used by any test. # - Update the dependency to GNATcoll to GNATcoll Core. # - Remove the compiler switches. They're inherited from the ZMQ project in # the source tree. When building the testsuite, we'll use the switches of # Fedora instead. # - Remove the `Ide' package. The package is inherited from the the ZMQ # project in the source tree and isn't needed when packaging the library. # Patch: %{name}-adjust-zmq-tests-project.patch BuildRequires: gcc-gnat gprbuild # A fedora-gnat-project-common that contains the new GPRinstall macro. BuildRequires: fedora-gnat-project-common >= 3.21 BuildRequires: zeromq-devel %if %{with check} BuildRequires: aunit-devel BuildRequires: gnatcoll-core-devel BuildRequires: xmlada-devel %endif Requires: zeromq # Build only on architectures where GPRbuild is available: ExclusiveArch: %{GPRbuild_arches} %global common_description_en \ The ZeroMQ lightweight messaging kernel is a library which extends the \ standard socket interfaces with features traditionally provided by specialized \ messaging middleware products. ZeroMQ sockets provide an abstraction of \ asynchronous message queues, multiple messaging patterns, message filtering \ (subscriptions), seamless access to multiple transport protocols and more. \ \ This package provides an Ada binding to the ZeroMQ library. %description %{common_description_en} ################# ## Subpackages ## ################# %package devel Summary: Development package for the Ada binding for ZeroMQ Requires: %{name}%{?_isa} = %{version}-%{release} Requires: fedora-gnat-project-common Requires: zeromq-devel # XML/Ada and GNATcoll are required by the examples. Requires: gnatcoll-core-devel Requires: xmlada-devel %description devel %{common_description_en} This package contains source code and linking information for developing applications that use the Ada binding for ZeroMQ. It also contains some code examples. ############# ## Prepare ## ############# %prep %autosetup -n %{upstream_name}-%{upstream_commit} -p1 # Work with the GPRbuild-project to be used by users of the Ada bindings. rm examples/zmq-examples.gpr cp --preserve=timestamp examples/zmq-examples.gpr.inst \ examples/zmq-examples.gpr # libzmq.gpr is needed by zmq.gpr. cp libzmq.gpr.in libzmq.gpr ########### ## Build ## ########### %build # Build the library. gprbuild %{GPRbuild_flags} -XLIBRARY_TYPE=relocatable -P zmq.gpr ############# ## Install ## ############# %install # Install the library. %{GPRinstall} -XLIBRARY_TYPE=relocatable -P zmq.gpr # Fix up the symlink. ln --symbolic --force libzmqAda.so.%{version} %{buildroot}%{_libdir}/libzmqAda.so # Copy the examples. mkdir --parents %{buildroot}%{_pkgdocdir}/examples cp --preserve=timestamps examples/zmq-examples*.ad* \ %{buildroot}%{_pkgdocdir}/examples cp --preserve=timestamps examples/zmq-examples.gpr \ %{buildroot}%{_pkgdocdir}/examples ########### ## Check ## ########### %if %{with check} %check # Make the files of this packages visible to the test runner. export PATH=%{buildroot}%{_bindir}:$PATH export LD_LIBRARY_PATH=%{buildroot}%{_libdir}:$LD_LIBRARY_PATH export GPR_PROJECT_PATH=%{buildroot}%{_GNAT_project_dir}:$GPR_PROJECT_PATH cd tests # Build the test suite. gprbuild %{GPRbuild_flags} -P zmq-tests.gpr -cargs -fPIE # Run the test suite. bin/test_all %endif ########### ## Files ## ########### %files %license COPYING %{_libdir}/libzmqAda.so.%{version} %files devel %{_GNAT_project_dir}/zmq.gpr %{_includedir}/%{name} %dir %{_libdir}/%{name} %attr(444,-,-) %{_libdir}/%{name}/*.ali %{_libdir}/libzmqAda.so %{_pkgdocdir}/examples ############### ## Changelog ## ############### %changelog * Sun May 04 2025 Dennis van Raaij - 4.1.5-16.20240319git01211f8 - Removed debug package creation opt-out. - Updated to Git revision 01211f8 (20240319). - Updated the SPDX license expression. - The examples can now be found in the package documentation directory. - All package summaries and descriptions have been updated. - The development package package now depends on GNATcoll Core and XML/Ada as these libraries are requires by the examples. - The README-file has been removed from the package as it doesn't contain any useful information for Fedora users. - The license file can now be found in the package license directory. * Sun Jan 19 2025 Fedora Release Engineering - 4.1.5-15.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild * Fri Jul 26 2024 Miroslav Suchý - 4.1.5-14.git - convert license to SPDX * Sat Jul 20 2024 Fedora Release Engineering - 4.1.5-13.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild * Sat Jan 27 2024 Fedora Release Engineering - 4.1.5-12.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild * Thu Oct 05 2023 Remi Collet - 4.1.5-11.git - rebuild for new libsodium * Sat Jul 22 2023 Fedora Release Engineering - 4.1.5-10.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild * Sat Jan 21 2023 Fedora Release Engineering - 4.1.5-9.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild * Sat Jul 23 2022 Fedora Release Engineering - 4.1.5-8.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Sat Jan 22 2022 Fedora Release Engineering - 4.1.5-7.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Fri Jul 23 2021 Fedora Release Engineering - 4.1.5-6.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri May 21 2021 Max Reznik - 4.1.5-5.git - rebuilt with gcc-11.1.1-1 * Thu Jan 28 2021 Fedora Release Engineering - 4.1.5-4.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild * Wed Dec 9 2020 Pavel Zhukov - 4.1.5-3.git - Rebuild with new libgnat * Wed Jul 29 2020 Fedora Release Engineering - 4.1.5-2.git - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild * Wed Jun 17 2020 Max Reznik - 4.1.5-1.git - Update to 4.1.5 * Fri Jan 31 2020 Fedora Release Engineering - 2.1.0-30.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild * Sat Jul 27 2019 Fedora Release Engineering - 2.1.0-29.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild * Sun Feb 03 2019 Fedora Release Engineering - 2.1.0-28.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild * Sat Jul 14 2018 Fedora Release Engineering - 2.1.0-27.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild * Wed Feb 07 2018 Pavel Zhukov - 2.1.0-23.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild * Thu Jul 27 2017 Fedora Release Engineering - 2.1.0-22.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild * Sun Feb 05 2017 Kalev Lember - 2.1.0-21.24032011git - Rebuilt for libgnat soname bump * Fri Feb 05 2016 Fedora Release Engineering - 2.1.0-20.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild * Tue Jun 23 2015 Thomas Spura - 2.1.0-19.24032011git - rebuilt for new zeromq 4.1.2 * Fri Jun 19 2015 Fedora Release Engineering - 2.1.0-18.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild * Sun Apr 26 2015 Kalev Lember - 2.1.0-17.24032011git - Rebuilt for new libgnat * Mon Aug 18 2014 Fedora Release Engineering - 2.1.0-16.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild * Sat Jun 07 2014 Fedora Release Engineering - 2.1.0-15.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild * Tue May 13 2014 Peter Robinson 2.1.0-14.24032011git - Use GNAT_arches rather than an explicit list * Sun Apr 20 2014 Pavel Zhukov - 2.1.0-13.24032011git - Rebuild with new GCC * Sun Mar 02 2014 Pavel Zhukov - 2.1.0-12.24032011git - Fix library finalization. https://github.com/persan/zeromq-Ada/issues/10 * Sun Aug 04 2013 Fedora Release Engineering - 2.1.0-11.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild * Fri Jan 25 2013 Kevin Fenzi 2.1.0-10.24032011git - Rebuild for new libgnat - Add buildrequires on gcc-gnat. It's no longer pulled in by fedora-gnat-project-common * Sun Sep 23 2012 Pavel Zhukov - 2.1.0-9.24032011git - Fix gpr path * Sun Sep 23 2012 Pavel Zhukov - 2.1.0-8.24032011git - Fix libraries symlinks - Add usrmove patch * Sat Jan 14 2012 Fedora Release Engineering - 2.1.0-7.24032011git - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Thu May 05 2011 Dan Horák - 2.1.0-6.24032011git - updated the supported arch list * Fri Apr 29 2011 Pavel Zhukov - 2.1.0-4.24032011git - Create shared libraries path - Fix license tag - Fix spec errors * Thu Mar 24 2011 Pavel Zhukov - 2.1.0-1.24032011git - update to new commit * Wed Feb 2 2011 Pavel Zhukov - 2.0.10-02022011git - Initial package