Skip to content

Commit

Permalink
media-radio/ax25-tools: provide missing header file for MUSL
Browse files Browse the repository at this point in the history
* Header file is a copy from glibc
* update EAPI 7 -> 8

Closes: https://bugs.gentoo.org/716888
Signed-off-by: Thomas Beierlein <[email protected]>
  • Loading branch information
dl1jbe committed Aug 5, 2024
1 parent 0c763ce commit b99276c
Show file tree
Hide file tree
Showing 2 changed files with 208 additions and 0 deletions.
53 changes: 53 additions & 0 deletions media-radio/ax25-tools/ax25-tools-0.0.10_rc5-r1.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI="8"

MY_P=${P/_/-}

DESCRIPTION="Basic AX.25 (Amateur Radio) administrative tools and daemons"
HOMEPAGE="http://www.linux-ax25.org/"
SRC_URI="http://www.linux-ax25.org/pub/${PN}/${MY_P}.tar.gz"

S=${WORKDIR}/${MY_P}

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="X"

DOCS=( AUTHORS ChangeLog NEWS README tcpip/ttylinkd.README \
user_call/README.user_call yamdrv/README.yamdrv dmascc/README.dmascc \
tcpip/ttylinkd.INSTALL )

DEPEND="
dev-libs/libax25
X? (
x11-libs/libX11
media-libs/mesa[X(+)]
)"
RDEPEND="${DEPEND}
sys-libs/zlib"

src_prepare() {
eapply_user
if use elibc_musl ; then
eapply -p1 "${FILESDIR}/${PN}-0.0.10-musl.patch"
fi
}

src_configure() {
econf $(use_with X x)
}

src_install() {
emake DESTDIR="${D}" install installconf
einstalldocs

newinitd "${FILESDIR}"/ax25d.rc ax25d
newinitd "${FILESDIR}"/mheardd.rc mheardd
newinitd "${FILESDIR}"/netromd.rc netromd
newinitd "${FILESDIR}"/rip98d.rc rip98d
newinitd "${FILESDIR}"/rxecho.rc rxecho
newinitd "${FILESDIR}"/ttylinkd.rc ttylinkd
}
155 changes: 155 additions & 0 deletions media-radio/ax25-tools/files/ax25-tools-0.0.10-musl.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Provide missing header file
# From https://github.com/void-linux
diff --color --new-file -Np1 tcpip/talkd.h tcpip_a/talkd.h
*** a/tcpip/talkd.h 1970-01-01 01:00:00.000000000 +0100
--- b/tcpip/talkd.h 2021-09-01 23:25:25.059430912 +0200
***************
*** 0 ****
--- 1,127 ----
+
+ /*
+ * Copyright (c) 1983, 1993
+ * The Regents of the University of California. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * @(#)talkd.h 8.1 (Berkeley) 6/2/93
+ */
+
+ #ifndef _PROTOCOLS_TALKD_H
+ #define _PROTOCOLS_TALKD_H 1
+
+ /*
+ * This describes the protocol used by the talk server and clients.
+ *
+ * The talk server acts a repository of invitations, responding to
+ * requests by clients wishing to rendezvous for the purpose of
+ * holding a conversation. In normal operation, a client, the caller,
+ * initiates a rendezvous by sending a CTL_MSG to the server of
+ * type LOOK_UP. This causes the server to search its invitation
+ * tables to check if an invitation currently exists for the caller
+ * (to speak to the callee specified in the message). If the lookup
+ * fails, the caller then sends an ANNOUNCE message causing the server
+ * to broadcast an announcement on the callee's login ports requesting
+ * contact. When the callee responds, the local server uses the
+ * recorded invitation to respond with the appropriate rendezvous
+ * address and the caller and callee client programs establish a
+ * stream connection through which the conversation takes place.
+ */
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <stdint.h>
+
+ #include <features.h>
+ #ifndef __GLIBC__
+ struct osockaddr
+ {
+ unsigned short int sa_family;
+ unsigned char sa_data[14];
+ };
+ #else
+ #include <bits/types/struct_osockaddr.h>
+ #endif
+
+ /*
+ * Client->server request message format.
+ */
+ typedef struct {
+ unsigned char vers; /* protocol version */
+ unsigned char type; /* request type, see below */
+ unsigned char answer; /* not used */
+ unsigned char pad;
+ uint32_t id_num; /* message id */
+ struct osockaddr addr; /* old (4.3) style */
+ struct osockaddr ctl_addr; /* old (4.3) style */
+ int32_t pid; /* caller's process id */
+ #define NAME_SIZE 12
+ char l_name[NAME_SIZE];/* caller's name */
+ char r_name[NAME_SIZE];/* callee's name */
+ #define TTY_SIZE 16
+ char r_tty[TTY_SIZE];/* callee's tty name */
+ } CTL_MSG;
+
+ /*
+ * Server->client response message format.
+ */
+ typedef struct {
+ unsigned char vers; /* protocol version */
+ unsigned char type; /* type of request message, see below */
+ unsigned char answer; /* response to request message, see below */
+ unsigned char pad;
+ uint32_t id_num; /* message id */
+ struct osockaddr addr; /* address for establishing conversation */
+ } CTL_RESPONSE;
+
+ #define TALK_VERSION 1 /* protocol version */
+
+ /* message type values */
+ #define LEAVE_INVITE 0 /* leave invitation with server */
+ #define LOOK_UP 1 /* check for invitation by callee */
+ #define DELETE 2 /* delete invitation by caller */
+ #define ANNOUNCE 3 /* announce invitation by caller */
+
+ /* answer values */
+ #define SUCCESS 0 /* operation completed properly */
+ #define NOT_HERE 1 /* callee not logged in */
+ #define FAILED 2 /* operation failed for unexplained reason */
+ #define MACHINE_UNKNOWN 3 /* caller's machine name unknown */
+ #define PERMISSION_DENIED 4 /* callee's tty doesn't permit announce */
+ #define UNKNOWN_REQUEST 5 /* request has invalid type value */
+ #define BADVERSION 6 /* request has invalid protocol version */
+ #define BADADDR 7 /* request has invalid addr value */
+ #define BADCTLADDR 8 /* request has invalid ctl_addr value */
+
+ /*
+ * Operational parameters.
+ */
+ #define MAX_LIFE 60 /* max time daemon saves invitations */
+ /* RING_WAIT should be 10's of seconds less than MAX_LIFE */
+ #define RING_WAIT 30 /* time to wait before resending invitation */
+
+ #endif /* protocols/talkd.h */
+
diff --color --new-file -Np1 tcpip/ttylinkd.c tcpip_a/ttylinkd.c
*** a/tcpip/ttylinkd.c 2021-09-01 23:20:39.121449187 +0200
--- b/tcpip/ttylinkd.c 2021-09-01 23:25:25.059430912 +0200
***************
*** 41,43 ****

! #include <protocols/talkd.h>

--- 41,43 ----

! #include "talkd.h"

*** a/dmascc/dmascc_cfg.c 2019-03-28 19:07:47.000000000 +0100
--- b/dmascc/dmascc_cfg.c 2021-09-01 23:41:28.698369324 +0200
***************
*** 26,27 ****
--- 26,28 ----
#include <sys/ioctl.h>
+ #include <sys/types.h>
#include <linux/if.h>

0 comments on commit b99276c

Please sign in to comment.