Compare commits

..

No commits in common. "rawhide" and "f20" have entirely different histories.

7 changed files with 148 additions and 222 deletions

12
.gitignore vendored
View file

@ -1,11 +1 @@
/0xBB793815pub.asc
/libanet-0.4.0.tar.bz2
/libanet-0.4.0.tar.bz2.sig
/libanet-0.4.1.tar.bz2
/libanet-0.4.1.tar.bz2.sig
/BB793815-extended.key
/0xDBF6D7E1095FD0D9.asc
/libanet-0.5.0.tar.bz2
/libanet-0.5.0.tar.bz2.sig
/libanet-0.5.1.tar.bz2
/libanet-0.5.1.tar.bz2.sig
/libanet-0.2.2.tar.bz2

View file

@ -0,0 +1,55 @@
diff --git a/Makefile b/Makefile
index 11fced6..c5e4354 100644
--- a/Makefile
+++ b/Makefile
@@ -20,6 +20,13 @@ NUM_CPUS := $(shell getconf _NPROCESSORS_ONLN)
GMAKE_OPTS = -p -R -j$(NUM_CPUS)
+# GNU-style directory variables
+prefix = ${PREFIX}
+exec_prefix = ${prefix}
+includedir = ${prefix}/include
+libdir = ${exec_prefix}/lib
+gprdir = ${prefix}/lib/gnat
+
all: build_lib
build_lib:
@@ -48,24 +55,24 @@ examples:
install: install_lib install_$(LIBRARY_KIND)
install_lib: build_lib
- install -d $(PREFIX)/lib/gnat
- install -d $(PREFIX)/lib/anet
- install -d $(PREFIX)/include/anet
- install -m 644 $(SRCDIR)/*.ad[bs] $(PREFIX)/include/anet
- install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/*.ali $(PREFIX)/lib/anet
- install -m 644 $(GPR_FILES) $(PREFIX)/lib/gnat
+ install -d $(DESTDIR)$(gprdir)
+ install -d $(DESTDIR)$(libdir)/anet
+ install -d $(DESTDIR)$(includedir)/anet
+ install -m 644 $(SRCDIR)/*.ad[bs] $(DESTDIR)$(includedir)/anet
+ install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/*.ali $(DESTDIR)$(libdir)/anet
+ install -m 644 $(GPR_FILES) $(DESTDIR)$(gprdir)
install_static:
- install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/libanet.a $(PREFIX)/lib
+ install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/libanet.a $(DESTDIR)$(libdir)
install_dynamic:
- install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/$(SO_LIBRARY) $(PREFIX)/lib
- cd $(PREFIX)/lib && ln -sf $(SO_LIBRARY) libanet.so
+ install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/$(SO_LIBRARY) $(DESTDIR)$(libdir)
+ cd $(DESTDIR)$(libdir) && ln -sf $(SO_LIBRARY) libanet.so
install_tests: build_tests
- install -v -d $(PREFIX)/$(TESTDIR)
- install -m 755 $(OBJDIR)/$(TESTDIR)/test_runner $(PREFIX)/$(TESTDIR)
- cp -r data $(PREFIX)/$(TESTDIR)
+ install -v -d $(DESTDIR)$(prefix)/$(TESTDIR)
+ install -m 755 $(OBJDIR)/$(TESTDIR)/test_runner $(DESTDIR)$(prefix)/$(TESTDIR)
+ cp -r data $(DESTDIR)$(prefix)/$(TESTDIR)
doc:
@$(MAKE) -C doc

View file

@ -1,3 +1,5 @@
diff --git a/gnat/anet.gpr b/gnat/anet.gpr
index 1c0e2dd..5d1b5a4 100644
--- a/gnat/anet.gpr
+++ b/gnat/anet.gpr
@@ -21,11 +21,13 @@
@ -6,7 +8,7 @@
+with "directories";
+
library project Anet is
project Anet is
- for Source_Dirs use ("../../include/anet");
+ for Source_Dirs use (Directories.Includedir & "/anet");
for Library_Name use "anet";

51
anet-0.2.2-install.patch Normal file
View file

@ -0,0 +1,51 @@
diff --git a/Makefile b/Makefile
index 6a05213..343892d 100644
--- a/Makefile
+++ b/Makefile
@@ -15,6 +15,12 @@ TARBALL = $(ANET).tar.bz2
SO_LIBRARY = libanet.so.$(VERSION)
LIBRARY_KIND = dynamic
+
+# Command variables
+INSTALL = install
+INSTALL_PROGRAM = $(INSTALL)
+INSTALL_DATA = $(INSTALL) --mode=644 --preserve-timestamps
+INSTALL_ALI = $(INSTALL) --mode=444
NUM_CPUS := $(shell getconf _NPROCESSORS_ONLN)
@@ -62,23 +70,23 @@ examples:
install: install_lib install_$(LIBRARY_KIND)
install_lib: build_lib
- install -d $(DESTDIR)$(gprdir)
- install -d $(DESTDIR)$(libdir)/anet
- install -d $(DESTDIR)$(includedir)/anet
- install -m 644 $(SRCDIR)/*.ad[bs] $(DESTDIR)$(includedir)/anet
- install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/*.ali $(DESTDIR)$(libdir)/anet
- install -m 644 $(GPR_FILES) $(DESTDIR)$(gprdir)
+ $(INSTALL) -d $(DESTDIR)$(gprdir)
+ $(INSTALL) -d $(DESTDIR)$(libdir)/anet
+ $(INSTALL) -d $(DESTDIR)$(includedir)/anet
+ $(INSTALL_DATA) $(SRCDIR)/*.ad[bs] $(DESTDIR)$(includedir)/anet
+ $(INSTALL_ALI) $(LIBDIR)/$(LIBRARY_KIND)/*.ali $(DESTDIR)$(libdir)/anet
+ $(INSTALL_DATA) $(GPR_FILES) $(DESTDIR)$(gprdir)
install_static:
- install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/libanet.a $(DESTDIR)$(libdir)
+ $(INSTALL_DATA) $(LIBDIR)/$(LIBRARY_KIND)/libanet.a $(DESTDIR)$(libdir)
install_dynamic:
- install -m 444 $(LIBDIR)/$(LIBRARY_KIND)/$(SO_LIBRARY) $(DESTDIR)$(libdir)
+ $(INSTALL_PROGRAM) $(LIBDIR)/$(LIBRARY_KIND)/$(SO_LIBRARY) $(DESTDIR)$(libdir)
cd $(DESTDIR)$(libdir) && ln -sf $(SO_LIBRARY) libanet.so
install_tests: build_tests
- install -v -d $(DESTDIR)$(prefix)/$(TESTDIR)
- install -m 755 $(OBJDIR)/$(TESTDIR)/test_runner $(DESTDIR)$(prefix)/$(TESTDIR)
+ $(INSTALL) -v -d $(DESTDIR)$(prefix)/$(TESTDIR)
+ $(INSTALL_PROGRAM) $(OBJDIR)/$(TESTDIR)/test_runner $(DESTDIR)$(prefix)/$(TESTDIR)
cp -r data $(DESTDIR)$(prefix)/$(TESTDIR)
doc:

View file

@ -1,11 +0,0 @@
diff -u tests/socket_tests-ip.adb tests/socket_tests-ip.adb
--- tests/socket_tests-ip.adb 2016-06-29 12:26:01.000000000 +0200
+++ tests/socket_tests-ip.adb 2016-07-11 17:27:27.499316612 +0200
@@ -331,6 +331,7 @@
Grp : constant IPv6_Addr_Type
:= To_IPv6_Addr (Str => "ff04:0000:0000:0000:0000:0000:0001:0002");
begin
+ Skip(Message => "Doesn't work in Koji.");
if Test_Utils.OS = Test_Utils.BSD then
Skip (Message => "Not supported");
end if;

231
anet.spec
View file

@ -1,23 +1,24 @@
Name: anet
Version: 0.5.1
Release: 7%{?dist}
Version: 0.2.2
Release: 2%{?dist}
Summary: Ada Networking Library
License: GPL-2.0-or-later WITH GNAT-exception
URL: https://www.codelabs.ch/anet/
Source: https://www.codelabs.ch/download/libanet-%{version}.tar.bz2
Source2: https://www.codelabs.ch/download/libanet-%{version}.tar.bz2.sig
Source5: https://www.codelabs.ch/keys/0xDBF6D7E1095FD0D9.asc
# Disable one test that doesn't work in Koji:
Patch: anet-0.3.3-no_IPv6_multicast_test.patch
Group: System Environment/Libraries
License: GPLv2+ with exceptions
URL: http://www.codelabs.ch/anet/
Source: http://www.codelabs.ch/download/libanet-0.2.2.tar.bz2
# Fedora-specific patch to use the directory project:
Patch1: anet-0.2.2-directories_gpr.patch
# Patch to add directory variables so that libdir and gprdir can be set:
# http://git.codelabs.ch/?p=anet.git;a=commit;h=98e3e17133f6cc018a18e1aa62139d17d641bfac
Patch2: anet-0.2.2-directories.patch
# Patch to install the shared library with execute permission:
# http://git.codelabs.ch/?p=anet.git;a=commit;h=52994d0b350aa75b28e1c4df866474d5d3a3bed6
Patch3: anet-0.2.2-install.patch
BuildRequires: gcc-gnat fedora-gnat-project-common make ahven-devel
BuildRequires: gprbuild
BuildRequires: gpgverify
BuildRequires: asciidoctor
BuildRequires: sed
# Build only on architectures where GPRbuild is available:
ExclusiveArch: %{GPRbuild_arches}
BuildRequires: gcc-gnat fedora-gnat-project-common chrpath asciidoc
# Build only on architectures where gcc-gnat is available:
ExclusiveArch: %{GNAT_arches}
%global common_description_en \
Anet is a networking library for the Ada programming language. It supports, \
@ -37,8 +38,7 @@ länklagersocketar och Netlink.
%package devel
Summary: Development files for Anet
Summary(sv): Filer för programmering med Anet
License: GPL-2.0-or-later WITH GNAT-exception AND MIT
# Asciidoctor inserts an MIT-licensed stylesheet in the manual.
Group: Development/Libraries
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: fedora-gnat-project-common
@ -54,203 +54,46 @@ för att utveckla program som använder Anet.
%prep
%{gpgverify} --keyring='%{SOURCE5}' --signature='%{SOURCE2}' --data='%{SOURCE0}'
%autosetup -n libanet-%{version} -p0
# Override the upstream usage of control-flow checking with Fedora's arch-
# dependent choice because GCC doesn't offer control-flow checking for all
# arches.
%global fix_cf_protection %([[ '%{build_adaflags}' = *-fcf-protection* ]] || echo -fcf-protection=none)
# This expands to an empty string if "-fcf-protection" is found among Fedora's
# compiler flags, and to "-fcf-protection=none" if it's not found.
%define all_the_flags "GNAT_BUILDER_FLAGS=%{GNAT_builder_flags}" "ADAFLAGS=%{build_adaflags} %{fix_cf_protection}" "LDFLAGS=%{build_ldflags}"
# define makes the macro lazily expanded, unlike global.
%setup -q -n libanet-%{version}
%patch1 -p 1
%patch2 -p 1
%patch3 -p 1
%build
make %{all_the_flags}
make build-doc
make GMAKE_OPTS='%{Gnatmake_optflags}'
# Remove the unnecessary runpath that Gnatmake added.
chrpath --delete lib/dynamic/*.so.*
make doc
# The testsuite can't be run until we get Ahven packaged.
#check
#make tests GMAKE_OPTS='%{Gnatmake_optflags}'
%install
# Pass all_the_flags here too to ensure that GPRbuild won't recompile anything.
%{make_install} %{all_the_flags} GPRINSTALLFLAGS='%{GPRinstall_flags}'
# Make the generated usage project file architecture-independent.
sed --regexp-extended --in-place \
'--expression=1i with "directories";' \
'--expression=/^-- This project has been generated/d' \
'--expression=s|^( *for +Source_Dirs +use +).*;$|\1(Directories.Includedir \& "/%{name}");|i' \
'--expression=s|^( *for +Library_Dir +use +).*;$|\1Directories.Libdir;|i' \
'--expression=s|^( *for +Library_ALI_Dir +use +).*;$|\1Directories.Libdir \& "/%{name}";|i' \
%{buildroot}%{_GNAT_project_dir}/*.gpr
# The Sed commands are:
# 1: Insert a with clause before the first line to import the directories
# project.
# 2: Delete a comment that mentions the architecture.
# 3: Replace the value of Source_Dirs with a pathname based on
# Directories.Includedir.
# 4: Replace the value of Library_Dir with Directories.Libdir.
# 5: Replace the value of Library_ALI_Dir with a pathname based on
# Directories.Libdir.
%{make_install} prefix=%{_prefix} libdir=%{_libdir} gprdir=%{_GNAT_project_dir}
%check
# Disable the hardening hack only for the testsuite.
# https://bugzilla.redhat.com/show_bug.cgi?id=1197501
# all_the_flags must be lazily expanded for this to work.
%undefine _hardened_build
make tests %{all_the_flags}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%{_libdir}/*.so.*
%license COPYING
%doc AUTHORS
%doc COPYING AUTHORS
%files devel
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/%{name}
%{_GNAT_project_dir}/*
%doc README TODO obj/html examples
%doc README TODO doc/html examples
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jan 07 2026 Björn Persson <Bjorn@Rombobjörn.se> - 0.5.1-6
- Rebuilt with GCC 16 prerelease.
* Sun Aug 10 2025 Björn Persson <Bjorn@Rombobjörn.se> - 0.5.1-5
- Rebuilt because the ALI of System.OS_Constants changed.
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Tue Jan 14 2025 Björn Persson <Bjorn@Rombobjörn.se> - 0.5.1-2
- Rebuilt with GCC 15 prerelease.
* Mon Nov 04 2024 Björn Persson <Bjorn@Rombobjörn.se> - 0.5.1-1
- Upgraded to version 0.5.1.
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Feb 25 2024 Björn Persson <Bjorn@Rombobjörn.se> - 0.5.0-1
- Upgraded to version 0.5.0.
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-17
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Tue Jan 16 2024 Björn Persson <Bjorn@Rombobjörn.se> - 0.4.1-16
- Rebuilt with GCC 14 prerelease.
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Jan 17 2023 Björn Persson <Bjorn@Rombobjörn.se> - 0.4.1-13
- Rebuilt with GCC 13.
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-12
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Apr 02 2021 Björn Persson <Bjorn@Rombobjörn.se> - 0.4.1-9
- rebuilt with gcc-11.0.1-0.3
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Dec 08 2020 Björn Persson <Bjorn@Rombobjörn.se> - 0.4.1-7
- Rebuilt with GCC 11.
* Fri Jul 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-6
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Sat Aug 18 2018 Björn Persson <Bjorn@Rombobjörn.se> - 0.4.1-1
- Upgraded to version 0.4.1.
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Sat Mar 03 2018 Björn Persson <Bjorn@Rombobjörn.se> - 0.4.0-1
- Upgraded to version 0.4.0.
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Björn Persson <Bjorn@Rombobjörn.se> - 0.3.4-4
- Switched to building with GPRbuild as project file support was removed from
Gnatmake in GCC 8.
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Feb 05 2017 Björn Persson <Bjorn@Rombobjörn.se> - 0.3.4-1
- Upgraded to version 0.3.4.
- Excluded ppc64le because of a suspected endianness bug in Libgnat.
* Mon Jul 11 2016 Björn Persson <Bjorn@Rombobjörn.se> - 0.3.3-1
- Upgraded to version 0.3.3.
* Tue Feb 02 2016 Björn Persson <Bjorn@Rombobjörn.se> - 0.3.1-3
- Rebuilt with GCC 6 prerelease.
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Mar 31 2015 Björn Persson <bjorn@rombobjörn.se> - 0.3.1-1
- Upgraded to version 0.3.1.
* Sat Feb 07 2015 Björn Persson <bjorn@rombobjörn.se> - 0.2.3-5
- Rebuilt with GCC 5.0.0.
* Fri Aug 15 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Thu Apr 10 2014 Björn Persson <bjorn@rombobjörn.se> - 0.2.3-2
- Rebuilt with GCC 4.9.0 prerelease.
* Wed Jan 29 2014 Björn Persson <bjorn@rombobjörn.se> - 0.2.3-1
- Upgraded to version 0.2.3.
* Sun Jul 28 2013 Björn Persson <bjorn@rombobjörn.se> - 0.2.2-2
- Use %%doc now that documentation directories are unversioned.

View file

@ -1,5 +1 @@
SHA512 (0xDBF6D7E1095FD0D9.asc) = 58d80b4de7fac4e95554c913ba60738ef7f8c55424f7b5a88a6d8c65dd482dcf4ec859f3928ed232d1bae4032c42c58183156099ee96d87a51125d28efd18149
SHA512 (libanet-0.5.0.tar.bz2) = cb61f5b3231c56d8e0521a0693fb093d4203ec6a66bc592316c0f8a677d2d995feea65b46d72ba5cca4dc46a8c41ae4027ce3387c0f7dde6ba326cbde6b12c4d
SHA512 (libanet-0.5.0.tar.bz2.sig) = 46bb94fda693da3af6207ee06661e7d0104f1954bcef2a86874bb5f3bb24a36b1488432724e3fa49786aa65c33df1fca6608da62d05182da4a2c51eda2c2d6e2
SHA512 (libanet-0.5.1.tar.bz2) = bb9e8f8d040c30c036b11cb5923a06c1a230f4a70c674d8c8a1c816fc7901b1355e878d62f37e4f3e6caa43d0e3dc8e5b29a5ba2d32380110e0c3d4310777ecf
SHA512 (libanet-0.5.1.tar.bz2.sig) = 5e3da5a2af7f746b49547a1dae64102ccfb08666a0a525cb7c7876bb575a9f2dad44a844923cf71289902455c5dc5bd8f8af2acacc844350ef7e115ec4656061
9663f1bd7630207daebae31630ab63a3 libanet-0.2.2.tar.bz2