1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
7 SDESC[standard]= Networking library for Ada
8 HOMEPAGE= https://www.codelabs.ch/anet/
9 CONTACT= John_Marino[draco@marino.st]
12 SITES[main]= https://www.codelabs.ch/download/
13 DISTFILE[1]= libanet-0.4.3.tar.bz2:main
15 SPKGS[standard]= complete
19 OPTIONS_AVAILABLE= TESTED BSD
20 OPTIONS_STANDARD= TESTED BSD
23 OPT_ON[dragonfly]= BSD
24 OPT_ON[midnightbsd]= BSD
26 BUILD_DEPENDS= ruby-asciidoctor:single:ruby_default
27 source-highlight:tools:standard
29 USES= gprbuild gmake ada:primary
31 DISTNAME= libanet-0.4.3
33 LICENSE= GMGPL:primary
34 LICENSE_TERMS= primary:{{WRKDIR}}/TERMS
35 LICENSE_FILE= GMGPL:{{WRKSRC}}/COPYING
36 LICENSE_AWK= TERMS:"^pragma"
37 LICENSE_SOURCE= TERMS:{{WRKSRC}}/src/anet.ads
40 BUILD_TARGET= all build-doc
41 MAKE_ARGS= NUM_CPUS={{MAKE_JOBS_NUMBER}}
43 INSTALL_REQ_TOOLCHAIN= yes
45 [BSD].DESCRIPTION= Build on BSD platform
46 [BSD].EXTRA_PATCHES_ON= extra-src_anet-sockets-inet.adb
47 [BSD].MAKE_ARGS_ON= OS=bsd
49 [TESTED].DESCRIPTION= Run unit test suite before installation
50 [TESTED].BUILD_DEPENDS_ON= ahven:complete:standard
51 [TESTED].BUILD_TARGET_ON= tests
54 (cd ${WRKSRC}/doc && ${COPYTREE_SHARE} html ${STAGEDIR}${STD_DOCDIR})
57 ${REINPLACE_CMD} -e 's|=lib/gnat|=share/gpr|' ${WRKSRC}/Makefile
58 ${REINPLACE_CMD} -e 's|"dynamic"|"static-pic"|' ${WRKSRC}/anet.gpr
60 [FILE:605:descriptions/desc.primary]
61 Anet is a networking library for the Ada programming language featuring:
62 * BSD socket implementation
63 * High abstraction level
64 * Extendable socket type hierarchy
65 * Socket receiver tasks (Stream and Datagram)
66 * Ada type serialisation/deserialisation over sockets
67 * Supported socket families
70 - UNIX domain (AF_UNIX)
71 - Linux only: Packet (AF_PACKET)
72 - Linux only: Netlink (AF_NETLINK)
73 * Supported socket modes
77 * Support for IPv4/IPv6 multicast
78 * UDP/IPv4 packet creation and validation
82 f2b41d8e783fbc73a731936398e4a9ee6094e399109986dea8e2dc644bff69b5 52955 libanet-0.4.3.tar.bz2
85 [FILE:2077:manifests/plist.primary]
86 %%ONLY-LINUX%%include/anet/
87 anet-sockets-netlink.adb
88 anet-sockets-netlink.ads
89 anet-sockets-packet.adb
90 anet-sockets-packet.ads
91 anet-sockets-thin-netlink.ads
92 anet-sockets-thin-packet.ads
93 %%ONLY-LINUX%%lib/anet/
94 anet-sockets-netlink.ali
95 anet-sockets-packet.ali
96 anet-sockets-thin-netlink.ali
97 anet-sockets-thin-packet.ali
101 anet-byte_swapping.adb
102 anet-byte_swapping.ads
110 anet-os_constants.ads
111 anet-receivers-datagram.adb
112 anet-receivers-datagram.ads
113 anet-receivers-stream.adb
114 anet-receivers-stream.ads
117 anet-socket_families.ads
118 anet-sockets-filters.adb
119 anet-sockets-filters.ads
120 anet-sockets-inet-iface.adb
121 anet-sockets-inet-iface.ads
122 anet-sockets-inet.adb
123 anet-sockets-inet.ads
124 anet-sockets-net_ifaces.adb
125 anet-sockets-net_ifaces.ads
126 anet-sockets-thin-inet.adb
127 anet-sockets-thin-inet.ads
128 anet-sockets-thin-netdev-requests.ads
129 anet-sockets-thin-netdev.ads
130 anet-sockets-thin-sockaddr.ads
131 anet-sockets-thin-unix.ads
132 anet-sockets-thin.ads
133 anet-sockets-unix.adb
134 anet-sockets-unix.ads
151 anet-byte_swapping.ali
156 anet-os_constants.ali
157 anet-receivers-datagram.ali
158 anet-receivers-stream.ali
160 anet-socket_families.ali
161 anet-sockets-filters.ali
162 anet-sockets-inet-iface.ali
163 anet-sockets-inet.ali
164 anet-sockets-net_ifaces.ali
165 anet-sockets-thin-inet.ali
166 anet-sockets-thin-netdev-requests.ali
167 anet-sockets-thin-netdev.ali
168 anet-sockets-thin-sockaddr.ali
169 anet-sockets-thin-unix.ali
170 anet-sockets-thin.ali
171 anet-sockets-unix.ali
182 [FILE:31:manifests/plist.docs]
183 share/doc/anet/html/index.html
186 [FILE:3023:files/extra-src_anet-sockets-inet.adb]
187 --- src/anet-sockets-inet.adb.orig 2022-12-04 16:02:18 UTC
188 +++ src/anet-sockets-inet.adb
189 @@ -69,7 +69,7 @@ package body Anet.Sockets.Inet is
191 Sock : Thin.Inet.Sockaddr_In_Type
192 (Family => Socket_Families.Family_Inet);
193 - Len : aliased C.int := Sock'Size / 8;
194 + Len : aliased C.int := Thin.Inet.Sockaddr_In_Size;
196 New_Socket.Sock_FD := -1;
197 Src := (Addr => Any_Addr,
198 @@ -116,7 +116,7 @@ package body Anet.Sockets.Inet is
200 Sock : Thin.Inet.Sockaddr_In_Type
201 (Family => Socket_Families.Family_Inet6);
202 - Len : aliased C.int := Sock'Size / 8;
203 + Len : aliased C.int := Thin.Inet.Sockaddr_In6_Size;
205 New_Socket.Sock_FD := -1;
206 Src := (Addr => Any_Addr_V6,
207 @@ -173,7 +173,7 @@ package body Anet.Sockets.Inet is
208 (Result => Thin.C_Bind
209 (S => Socket.Sock_FD,
210 Name => Sockaddr'Address,
211 - Namelen => Sockaddr'Size / 8),
212 + Namelen => Thin.Inet.Sockaddr_In_Size),
213 Message => "Unable to bind IPv4 socket to " & To_String
214 (Address => Address) & "," & Port'Img);
216 @@ -200,7 +200,7 @@ package body Anet.Sockets.Inet is
217 (Result => Thin.C_Bind
218 (S => Socket.Sock_FD,
219 Name => Sockaddr'Address,
220 - Namelen => Sockaddr'Size / 8),
221 + Namelen => Thin.Inet.Sockaddr_In6_Size),
222 Message => "Unable to bind IPv6 socket to " & To_String
223 (Address => Address) & "," & Port'Img);
225 @@ -220,7 +220,7 @@ package body Anet.Sockets.Inet is
226 (Result => Thin.C_Connect
227 (S => Socket.Sock_FD,
229 - Namelen => Dst'Size / 8),
230 + Namelen => Thin.Inet.Sockaddr_In_Size),
231 Message => "Unable to connect socket to address " & To_String
232 (Address => Address) & " (" & Port'Img & " )");
234 @@ -240,7 +240,7 @@ package body Anet.Sockets.Inet is
235 (Result => Thin.C_Connect
236 (S => Socket.Sock_FD,
238 - Namelen => Dst'Size / 8),
239 + Namelen => Thin.Inet.Sockaddr_In6_Size),
240 Message => "Unable to connect socket to address " & To_String
241 (Address => Address) & " (" & Port'Img & " )");
243 @@ -478,7 +478,7 @@ package body Anet.Sockets.Inet is
245 Flags => Constants.Sys.MSG_NOSIGNAL,
247 - Tolen => Dst'Size / 8);
248 + Tolen => Thin.Inet.Sockaddr_In_Size);
251 (Result => C.int (Res),
252 @@ -510,7 +510,7 @@ package body Anet.Sockets.Inet is
254 Flags => Constants.Sys.MSG_NOSIGNAL,
256 - Tolen => Dst'Size / 8);
257 + Tolen => Thin.Inet.Sockaddr_In6_Size);
260 (Result => C.int (Res),