summaryrefslogtreecommitdiff
path: root/net-libs/rpc2
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/rpc2')
-rw-r--r--net-libs/rpc2/Manifest7
-rw-r--r--net-libs/rpc2/files/rpc2-2.37-gcc15.patch13
-rw-r--r--net-libs/rpc2/files/rpc2-2.37-lua.patch34
-rw-r--r--net-libs/rpc2/files/rpc2-2.37-respect-flags.patch17
-rw-r--r--net-libs/rpc2/metadata.xml3
-rw-r--r--net-libs/rpc2/rpc2-2.37.ebuild59
6 files changed, 132 insertions, 1 deletions
diff --git a/net-libs/rpc2/Manifest b/net-libs/rpc2/Manifest
index 155ca8b0a5e1..fe51a57e9dcd 100644
--- a/net-libs/rpc2/Manifest
+++ b/net-libs/rpc2/Manifest
@@ -1,5 +1,10 @@
AUX rpc2-2.14-include.patch 177 BLAKE2B fea7e5cfdff26d17bc5ba4970cd44e8d6893585842c5565d00fe6580029f43b4859864286679800cb26526cbab5a63138ef777c357a28597f34d68be2c0cc7de SHA512 fa7ea580dfcec3411f0f10ec15f69e2c1943e8a8723284493f03fa82d4f44ceb483cb3211dd6ad385dcd73bb19de7bf265b2eb0e355367d2aac6b35bf6eb650f
AUX rpc2-2.14-respect-flags.patch 468 BLAKE2B 627f5cda9e72b2fa695c41e36116e644cbd4598473722d5e1ee1c5403655610d085e1f2dd466a12d6cdd5145f44a23d2eb6ed4bbebd8e7305da3f0ca7d1d53aa SHA512 5d4c58ec9973e4b054aabc4e6ad48b97038ddbed2c1e4e117f903f3ffb05de59edd33d90004c4bb75d8402466399eddad47d61c4cdea9ddb7c2dcafbdcc84e83
+AUX rpc2-2.37-gcc15.patch 395 BLAKE2B c53cdd83f85af48175e4a7831100bc49bd6eeba7a1642178ff3759ced0da97f0ea00cc676084ffd8628af6fe9cb576846d155e3b7cd4bc8040f5c7457b97b311 SHA512 4de69534c7e13956c55eb2101630034a618c17ccb0a79e2bb09ffad1ab61d39dc61ce97860680d4639a83cc70b2eb95352cfddf059ea786a51db48860ff8e20d
+AUX rpc2-2.37-lua.patch 1024 BLAKE2B 04a06cdd98c2e8fad58087d42f0ad68eb85450ccd9f7ee50b1ac0680cdb2f955bcc5de4014104f96584c3ef326c3a082f2285456431a840ee734951b403efba8 SHA512 96acfabb77d2fad9e98653b337a213d7ac2e5f4c325e00ec167cbe2eb02c02ffada55da47f596f991db150b2108562b39409af836f696ec06820484da7059f18
+AUX rpc2-2.37-respect-flags.patch 406 BLAKE2B cf0df4b50aa37fe5a9347d5a6a7d68dc9d249509cb645310b31e358f6c18161b5b468a3231c82981dd974b9dc570aa5947f3023b5be3c15b28d4e31e45ab097d SHA512 fd2437cbefa4389771ef440c1eb3b9445c28d4b48e48cb1d7d1952952d766b4de14fcd7ef1f45e205a59f7d86b66f90f93f77ff98201b4cae840c73e021b431b
DIST rpc2-2.14.tar.xz 427144 BLAKE2B e0b2fb6d0eb8d1391b7049142cfea7d4e8d760e6c2d5d646c705b4efbfcd9ac7ea40168ca40e0c184e2b04f0b3a26afd19fb2f2bda4bd12b511d44962749f7ca SHA512 b8a1b87ee27d820cbe30e7d031ca36b5e07340e3795755672d3831109f844de9b3985deb371b52cd9cde0b023d59a8d9d6c73576afcf0af8034b29bf9f3602be
+DIST rpc2-2.37.tar.gz 2012661 BLAKE2B e1142d315e24a6d7d4136795c72a86b0ddf762b0315bdc7432293e3052b82e703e20aa82d26a9e11a3449c1dba542a4ba539644b23a7e7da83fd77c9e6636fc1 SHA512 16087e616b9f540fed90724ac8c45e337ce9bc03a09c27d8d92335959db1f5ea9e22a6d60f3a5e2dddc9fcd840ed959f683b6b3906823ed1af3b18ba696a93eb
EBUILD rpc2-2.14-r1.ebuild 582 BLAKE2B 157724bcc64f0ab1094d5128a889d1ce33e534d8117a3d028f5adfb7abf18ef06d528cf7d8aabef59ca4cc9b1f6f6c797f2aab6ea54579414d9fc7ce2ab37a0c SHA512 1197e46e8798476a966bfd97d43b021ed139231266d8c64de2528718e94bf494dfccba0bd64d87728798d3684c28fcb1f2e03ef6f0b047a6ab26392a7cfbe2c0
-MISC metadata.xml 339 BLAKE2B 9fee4f94541d0d3009064167d69a7a4cb606671112a79623cd3215abd0fbfa7c0f42ea37229cca4827046b2127378077a981bf374a700f783ce53311bcb15f6f SHA512 5426dd1dc858ceebaf757db13189d2cf530ac40e98d6ad3ca82bcc961bb094ba86a095f940e8bc7a314ae71e077157fae62697ce487ec8a89e87730484b2e4e8
+EBUILD rpc2-2.37.ebuild 1141 BLAKE2B 116eac3ef30654bd0b9cdb8a9166001eabc484e6be3e727231540e73d4649cb27ee38fa13f40688da5689b4389c8677b0c691fa51018a138ba6a1cb1d18de2cd SHA512 ff41a7fba77e8cba75ea9d68722a8fa8cfa2d15121db4002647e1eb5155dd3b125fe9ff21ee00926216e660c0d83868d45ce5f8c076ffda33f7a6710bedf3732
+MISC metadata.xml 413 BLAKE2B e4e3a51c11b47ea6df3840b03ac1a594fbeb7ddaa643278b4b5d2c675b712bb9c04cd0332e0e22385614f881cc90bfa10722830568a8d41613b0c1b5cae7d485 SHA512 73e4f26087cfc1a52e1a73afa06b62d819b9036730d7911f5302216fac0abe95bc7b7c13d3762ba1bc677bd1a2e7cc715f6448764321d0fe6716380400a1d4be
diff --git a/net-libs/rpc2/files/rpc2-2.37-gcc15.patch b/net-libs/rpc2/files/rpc2-2.37-gcc15.patch
new file mode 100644
index 000000000000..957058423157
--- /dev/null
+++ b/net-libs/rpc2/files/rpc2-2.37-gcc15.patch
@@ -0,0 +1,13 @@
+https://bugs.gentoo.org/947850
+
+--- a/rp2gen/crout.c
++++ b/rp2gen/crout.c
+@@ -96,7 +96,7 @@ extern rp2_bool testing;
+ extern rp2_bool cplusplus;
+ extern rp2_bool neterrors; /* exchange OS independent errors */
+ extern struct subsystem subsystem;
+-extern unsigned versionnumber; /* used to check version */
++extern time_t versionnumber; /* used to check version */
+ extern ENTRY *find();
+
+ enum
diff --git a/net-libs/rpc2/files/rpc2-2.37-lua.patch b/net-libs/rpc2/files/rpc2-2.37-lua.patch
new file mode 100644
index 000000000000..160850f10174
--- /dev/null
+++ b/net-libs/rpc2/files/rpc2-2.37-lua.patch
@@ -0,0 +1,34 @@
+https://wiki.gentoo.org/wiki/Lua/Porting_notes
+
+--- a/rpc2-src/lua.c
++++ b/rpc2-src/lua.c
+@@ -303,10 +303,28 @@ static void l2c_totimeval(lua_State *L, int index, struct timeval *tv)
+ }
+ }
+
++#if !defined LUA_VERSION_NUM || LUA_VERSION_NUM==501
++/*
++** Adapted from Lua 5.2.0
++*/
++static void luaL_setfuncs (lua_State *L, const luaL_Reg *l, int nup) {
++ luaL_checkstack(L, nup+1, "too many upvalues");
++ for (; l->name != NULL; l++) { /* fill the table with given functions */
++ int i;
++ lua_pushstring(L, l->name);
++ for (i = 0; i < nup; i++) /* copy upvalues to the top */
++ lua_pushvalue(L, -(nup+1));
++ lua_pushcclosure(L, l->func, nup); /* closure with those upvalues */
++ lua_settable(L, -(nup + 3));
++ }
++ lua_pop(L, nup); /* remove upvalues */
++}
++#endif
++
+ static int l2c_timeval_init(lua_State *L)
+ {
+ luaL_newmetatable(L, RPC2_TIMEVAL);
+- luaL_openlib(L, NULL, timeval_m, 0);
++ luaL_setfuncs(L, timeval_m, 0);
+ lua_register(L, "time", timeval_new);
+ return 1;
+ }
diff --git a/net-libs/rpc2/files/rpc2-2.37-respect-flags.patch b/net-libs/rpc2/files/rpc2-2.37-respect-flags.patch
new file mode 100644
index 000000000000..d30ae5aadab9
--- /dev/null
+++ b/net-libs/rpc2/files/rpc2-2.37-respect-flags.patch
@@ -0,0 +1,17 @@
+--- a/rp2gen/Makefile.am
++++ b/rp2gen/Makefile.am
+@@ -3,13 +3,9 @@
+ CCLD=$(NATIVECC)
+ #EXEEXT=
+ AM_YFLAGS= -d
+-AM_CPPFLAGS= -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir) -I.
++AM_CPPFLAGS= -I$(top_builddir)/include -I$(top_srcdir)/include -I$(srcdir) -I. $(CFLAGS)
+
+ # override any cross compilation target flags
+-CFLAGS=-Wall
+-LDFLAGS=
+-LIBS=
+-
+ .c.o:
+ $(NATIVECC) $(AM_CPPFLAGS) -c $<
+
diff --git a/net-libs/rpc2/metadata.xml b/net-libs/rpc2/metadata.xml
index eefc50cbc6d0..2d8df3a8bbd4 100644
--- a/net-libs/rpc2/metadata.xml
+++ b/net-libs/rpc2/metadata.xml
@@ -5,6 +5,9 @@
<email>base-system@gentoo.org</email>
<name>Gentoo Base System</name>
</maintainer>
+ <use>
+ <flag name="codatunneld">Support for codatunneld.</flag>
+ </use>
<upstream>
<remote-id type="github">cmusatyalab/coda</remote-id>
</upstream>
diff --git a/net-libs/rpc2/rpc2-2.37.ebuild b/net-libs/rpc2/rpc2-2.37.ebuild
new file mode 100644
index 000000000000..68325e3cf67c
--- /dev/null
+++ b/net-libs/rpc2/rpc2-2.37.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-1 )
+
+inherit autotools flag-o-matic lua-single
+
+DESCRIPTION="Remote procedure call package for IP/UDP (used by Coda)"
+HOMEPAGE="http://www.coda.cs.cmu.edu/"
+SRC_URI="https://github.com/cmusatyalab/coda/archive/refs/tags/${P}.tar.gz"
+S="${WORKDIR}/coda-${P}/lib-src/rpc2"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~sparc ~x86"
+IUSE="codatunneld lua"
+REQUIRED_USE="${LUA_REQUIRED_USE}"
+
+RDEPEND="
+ codatunneld? (
+ dev-libs/libuv:=
+ net-libs/gnutls:=
+ )
+ lua? (
+ ${LUA_DEPS}
+ )
+ >=sys-libs/lwp-2.5:1
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/rpc2-2.37-respect-flags.patch
+ "${FILESDIR}"/rpc2-2.14-include.patch
+ "${FILESDIR}"/rpc2-2.37-gcc15.patch
+ "${FILESDIR}"/rpc2-2.37-lua.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # https://bugs.gentoo.org/947850
+ append-cflags -std=gnu17
+}
+
+src_configure() {
+ econf \
+ $(use_with codatunneld libuv) \
+ $(use_with lua)
+}
+
+src_install() {
+ default
+
+ find "${ED}" -type f -name '*.la' -delete || die
+}