add media-radio/dxlAPRS
This commit is contained in:
parent
10ff9a1553
commit
145e94f2b7
|
@ -0,0 +1,2 @@
|
|||
EBUILD dxlAPRS-0.ebuild 200 BLAKE2B a8a095b9b07e749a89ace55f95c85e1defb7fec246fc10383185ae4d48132c8556b2a559e85d1b9ed859df987258089ca35aab3ee5e7b2c871edf0d79a45e7f1 SHA512 8d2e14a3674920b8b0b590880ff309f7f7fec1b459868ae539c44616706b9cfb0b7c134a0a1f7bee274ee1a812665167172cc9fc480c542bb400d67337118f33
|
||||
MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3
|
|
@ -0,0 +1,10 @@
|
|||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="A group for media-radio/dxlAPRS"
|
||||
|
||||
ACCT_GROUP_ID="611"
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
</pkgmetadata>
|
|
@ -0,0 +1,2 @@
|
|||
EBUILD dxlAPRS-0.ebuild 267 BLAKE2B 2a42a70429ef0db6874e9d36e070075fd93076b85a0f951bbb299e8ac8e84bc186a9741ffbe042c672f8cdc2e63698be4b4ca9221aa6c9f43951873d034647bc SHA512 e95d99362cd5f7bf9856f7992cc428e204e2a4c4be3b67ec95dc4d1ee79dc68f7859ce897127c7a5f6125e43307f217b648cc23d7a9209b42fbb66ef8632ae91
|
||||
MISC metadata.xml 168 BLAKE2B 2e0e000b4c3b6ca04c12903fdbe278415c05a822623c52e9aa95cbbf3d50bcb1246b7edbda7d2f6b559af8950c6374e6e0a69b76319964cfe686bf50b0604a57 SHA512 4dcf45d1809e8390a2d8155c8ebfe0dd610203e392aeab0ccd8a10f42cc8532a4925eff32b35e7a6c35598a4efd288229034ec0732299dbd8cfa0acff705fed3
|
|
@ -0,0 +1,13 @@
|
|||
# Copyright 2019-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit acct-user
|
||||
|
||||
ACCT_USER_ID="611"
|
||||
ACCT_USER_GROUPS=( dxlAPRS dialout )
|
||||
ACCT_USER_HOME=/var/lib/dxlaprs
|
||||
ACCT_USER_HOME_PERMS=02750
|
||||
|
||||
acct-user_add_deps
|
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<!-- maintainer-needed -->
|
||||
</pkgmetadata>
|
|
@ -0,0 +1,8 @@
|
|||
AUX dxlAPRS-20241117-gcc-new.patch 3613 BLAKE2B ee7634021414d55c763bf5025f47bf68d521199ea907c8a04e2fba878abb17259f7bedb0953da579ec8ead1888f6aebd9480295521307df02661bed72d5a4372 SHA512 56b2725ebf0910c554904fdd2f89efd875ab5406aa5925e88b6a1039f90f474e076f367e8c5ae8ae2007ab3cce29536e72557aa053a05b6c455eeb62865009d9
|
||||
AUX dxlAPRS-20241117-no-static-linking.patch 830 BLAKE2B 8b062022d7ba880dcb6c04df30d148a8aa99ab3f19849e0640a44ed474425d0fd0e559102da5d3dac284267a00374840b23c059be41a72e35c7b7da0b171d40d SHA512 3450b8370cecbe3c8d11948413638062792b1e5ab415173de1e99e5efb12fbde8037864247329f0f03d17288c546d057c82a0c3c49e940dc2c5377929e056b45
|
||||
AUX ra02.service 748 BLAKE2B a9f21b2ddab1d1ec3906c32c67277a1f0d0558192f5c516214576892ab871cc4f5b1c52bc5e23066a6633f927970ee54e26a71d9e5946523ee1caf8ba442e2e3 SHA512 99cbfdde556edd55dd3c12eb03eb99886aa3147eeb4638c964df921241761f0c18feb70d0e760972ee6f3b6cdbfd0b86537103ff4261af217dcb1f0b7b552b8a
|
||||
AUX udpbox.service 653 BLAKE2B b512a416ac6ad8edef27040a195d6b47548154fdc951744dc0d13def99bba93bd04d30fc6aa87d89f560227f6988b586de7989782a14ac68069577d8aa22a855 SHA512 3faa1e4a0aa67f91da2d38966497e8dfe65bc164187f5ce5fe2cf3dbe870497862b1fd85a3bfc2dff757016a45db8dd5582fbfaddf5e0c1286356392bdc93682
|
||||
AUX udpflex.service 674 BLAKE2B e9c235a0ea82691c3290962ea3cde495558eb83bcf4514fb8b2dc2784d44b1aac64b619836146fac7c6256ea4c4cd987793971be1af4c113eae54f9fc3aaec92 SHA512 c743ef69c83b5a7505297e0a0356d8619f65ad4b38f4ef662cfdea2b48c206356e07d53dad11f3b6658e727e4b5375cd101a017bca47fe83055ae7241cc0d157
|
||||
AUX udpgate4.service 1149 BLAKE2B 9ad91b5481a3ea49d40ff22fe594b765745d30382c5cb99493fab7be1d7e7536152aa974a60f99aa8425563070713cbce41338cbda14093745f9c415eca7c6c1 SHA512 c353091ddd558572147f11e529c4765d9e6f6d175c646978c44f8c9ba37728288c95511c51230c2659167fb5f6c5a0307b7077aa0b6b76906ec70461faad2f7b
|
||||
DIST dxlAPRS-20241117.tar.gz 19794087 BLAKE2B 2c2e5e28e3959958653df7a9ff0d66b8f97a52f0bd8b73249cb644a10f31e56d1d870a2fbb95d12ee4285a7856fd81e83fe2dfd7c23a888cdd063114c7daf2ba SHA512 a890e836df2d75e9436e825afc60adf94de017df8e9cbeab8e32374b5915b5b0894ae7e94f08e2cd68db542eded7d46344902de5cd3207acca9a90a39cd3d9bc
|
||||
EBUILD dxlAPRS-20241117.ebuild 1129 BLAKE2B 8d77d27d8437e8cf62e9547dca8199016ca8d1a68566c15e527e2596c2df076c6f4392d48ec7a762c9c9a894744fe8c2f7c6d1a2a4a86686674f5104dd38eafe SHA512 d5309c2744ab3094a210849cf213ffbf502f5f0080fdf87b82692f8214f879b71d43d6bf7fcd2dfebc01287cb0f328d21e6aee03de2c2e864f4e62c23b7de917
|
|
@ -0,0 +1,49 @@
|
|||
# $Header: $
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit systemd
|
||||
|
||||
COMMIT="6f75aa58501eab7dd8b04fc5324f169882bd28b8"
|
||||
|
||||
DESCRIPTION="APRS-Toolchain by OE5DXL"
|
||||
HOMEPAGE="https://dxlwiki.dl1nux.de/"
|
||||
|
||||
SRC_URI="https://github.com/oe5hpm/dxlAPRS/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="amd64 x86"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
|
||||
RDEPEND="acct-group/dxlAPRS
|
||||
acct-user/dxlAPRS
|
||||
media-libs/libjpeg-turbo
|
||||
media-libs/libpng
|
||||
sci-libs/fftw
|
||||
x11-libs/libX11
|
||||
x11-libs/libXext"
|
||||
DEPEND=${RDEPEND}
|
||||
|
||||
S=${WORKDIR}/${PN}-${COMMIT}/src
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${P}-gcc-new.patch"
|
||||
"${FILESDIR}/${P}-no-static-linking.patch"
|
||||
)
|
||||
|
||||
src_install() {
|
||||
arch="$(uname -m)"
|
||||
rm ../out-${arch}/*.o
|
||||
dobin ../out-${arch}/*
|
||||
|
||||
insinto /usr/share/${PN}/www
|
||||
doins -r ../dxlAPRS_common/www/*
|
||||
|
||||
insinto /usr/share/${PN}/aprsmap
|
||||
doins -r ../aprsmap_common/*
|
||||
|
||||
systemd_dounit "${FILESDIR}"/ra02.service
|
||||
systemd_dounit "${FILESDIR}"/udpbox.service
|
||||
systemd_dounit "${FILESDIR}"/udpflex.service
|
||||
systemd_dounit "${FILESDIR}"/udpgate4.service
|
||||
}
|
|
@ -0,0 +1,106 @@
|
|||
diff -Naur src.orig/cleanup.c src/cleanup.c
|
||||
--- src.orig/cleanup.c 2024-11-17 18:24:00.000000000 +0100
|
||||
+++ src/cleanup.c 2024-12-17 22:12:51.805849977 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
strncpy(line, ut.ut_line, UT_LINESIZE);
|
||||
bzero(ut.ut_name, UT_NAMESIZE);
|
||||
bzero(ut.ut_host, UT_HOSTSIZE);
|
||||
- time(&ut.ut_time);
|
||||
+ time((time_t *) &ut.ut_time);
|
||||
lseek(fd, -(off_t)sizeof(struct utmp), L_INCR);
|
||||
write(fd, &ut, sizeof(struct utmp));
|
||||
close(fd);
|
||||
@@ -56,7 +56,7 @@
|
||||
strncpy(ut.ut_line, line, sizeof(ut.ut_line));
|
||||
strncpy(ut.ut_name, name, sizeof(ut.ut_name));
|
||||
strncpy(ut.ut_host, host, sizeof(ut.ut_host));
|
||||
- time(&ut.ut_time);
|
||||
+ time((time_t *) &ut.ut_time);
|
||||
if (write(fd, &ut, sizeof(struct utmp)) != sizeof(struct utmp))
|
||||
ftruncate(fd, buf.st_size);
|
||||
}
|
||||
diff -Naur src.orig/fftw.c src/fftw.c
|
||||
--- src.orig/fftw.c 2024-11-17 18:24:00.000000000 +0100
|
||||
+++ src/fftw.c 2024-12-17 21:53:32.872758461 +0100
|
||||
@@ -9,14 +9,14 @@
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
-static fftwf_plan p;
|
||||
+static fftw_plan p;
|
||||
|
||||
fftwf_complex* plan(uint n)
|
||||
{
|
||||
fftwf_complex *io;
|
||||
|
||||
io = (fftwf_complex*) fftw_malloc(sizeof(fftwf_complex) * n);
|
||||
- p = fftw_plan_dft_1d(n, io, io, FFTW_FORWARD, FFTW_ESTIMATE);
|
||||
+ p = fftw_plan_dft_1d(n, (fftw_complex *)io, (fftw_complex *)io, FFTW_FORWARD, FFTW_ESTIMATE);
|
||||
return io;
|
||||
}
|
||||
|
||||
diff -Naur src.orig/gpspos.c src/gpspos.c
|
||||
--- src.orig/gpspos.c 2024-11-17 18:24:00.000000000 +0100
|
||||
+++ src/gpspos.c 2024-12-17 20:14:30.995289257 +0100
|
||||
@@ -1306,7 +1306,7 @@
|
||||
sizeof(struct YUMA_structAlmanac [32]));
|
||||
memset((char *)rinexalm,(char)0,
|
||||
sizeof(struct structEphemeris [3072]));
|
||||
- semok = fnsem[0UL] && SEM_ReadAlmanacDataFromFile(fnsem, (char *)alm,
|
||||
+ semok = fnsem[0UL] && SEM_ReadAlmanacDataFromFile(fnsem, (SEM_structAlmanac *)alm,
|
||||
32U, &cnt);
|
||||
if (semok) {
|
||||
for (i = 0UL; i<=31UL; i++) {
|
||||
@@ -1314,9 +1314,9 @@
|
||||
} /* end for */
|
||||
}
|
||||
yumaok = fnyuma[0UL] && YUMA_ReadAlmanacDataFromFile(fnyuma,
|
||||
- (char *)yumaalm, 32U, &cnt);
|
||||
+ (YUMA_structAlmanac *)yumaalm, 32U, &cnt);
|
||||
rinexok = fnrinex[0UL] && RINEX_DecodeGPSNavigationFile(fnrinex,
|
||||
- (char *) &rinexklobuchar, (char *)rinexalm, 3071UL,
|
||||
+ (GNSS_structKlobuchar *) &rinexklobuchar, (GPS_structEphemeris *)rinexalm, 3071UL,
|
||||
&ri);
|
||||
if (rinexok && ri>0UL) {
|
||||
if (verb) {
|
||||
diff -Naur src.orig/l2cat.c src/l2cat.c
|
||||
--- src.orig/l2cat.c 2024-11-17 18:24:00.000000000 +0100
|
||||
+++ src/l2cat.c 2024-12-17 22:31:30.565938321 +0100
|
||||
@@ -1729,7 +1729,7 @@
|
||||
l2_L2Init(1000U, sockset, eventproc);
|
||||
l2_l2verb = verb;
|
||||
l2_dupchk = axudpchk;
|
||||
- signal(SIGCHLD, cleanup); /*CleanWho*/
|
||||
+ signal(SIGCHLD, (void *)cleanup); /*CleanWho*/
|
||||
/*
|
||||
MOVE(ADR(mycall), ADR(hc[0*7]), 7); (* via call *)
|
||||
MOVE(ADR(mycall), ADR(hc[1*7]), 7); (* connect call *)
|
||||
diff -Naur src.orig/radio.c src/radio.c
|
||||
--- src.orig/radio.c 2024-11-17 18:24:00.000000000 +0100
|
||||
+++ src/radio.c 2024-12-17 22:07:56.525826660 +0100
|
||||
@@ -154,20 +154,20 @@
|
||||
char s[1001];
|
||||
float fr;
|
||||
unsigned long n;
|
||||
- unsigned long m;
|
||||
- long ni;
|
||||
+ uint32_t m;
|
||||
+ int32_t ni;
|
||||
char ok0;
|
||||
mono = 0;
|
||||
rds = 0;
|
||||
verb = 0;
|
||||
- afc = 50UL;
|
||||
+ uint32_t afc = 50UL;
|
||||
strncpy(url,"127.0.0.1",1001u);
|
||||
strncpy(port,"1234",1001u);
|
||||
soundfn[0] = 0;
|
||||
tune = 100000000UL;
|
||||
- ifwidth = 0UL;
|
||||
+ uint32_t ifwidth = 0UL;
|
||||
firw = 0.0f;
|
||||
- firl = 16UL;
|
||||
+ uint32_t firl = 16UL;
|
||||
for (;;) {
|
||||
osi_NextArg(s, 1001ul);
|
||||
if (s[0U]==0) break;
|
|
@ -0,0 +1,22 @@
|
|||
diff -Naur src.orig/Makefile src/Makefile
|
||||
--- src.orig/Makefile 2024-11-17 18:24:00.000000000 +0100
|
||||
+++ src/Makefile 2024-12-18 20:10:30.311297575 +0100
|
||||
@@ -144,9 +144,6 @@
|
||||
OUT := $(if $(OUT),$(OUT),../out-x86_32/)
|
||||
CFLAGS += -m32
|
||||
LFLAGS += -m32
|
||||
- TARGETS += $(OUT)aprsmap-x86_32
|
||||
-else ifneq ($(HOSTOS),Darwin)
|
||||
-TARGETS += $(OUT)aprsmap-x86_64
|
||||
endif
|
||||
OUT := $(if $(OUT),$(OUT),../out-x86_64/)
|
||||
# -------------------------- x86_32 (default) specific ------------------------
|
||||
@@ -528,7 +525,7 @@
|
||||
|
||||
$(OUT)waterfall3: $(OBJ_WATERFALL3) $(OBJ_COMMON)
|
||||
@echo [ linking ] $@
|
||||
- $(CC) $(LFLAGS) -o $@ $(OBJ_WATERFALL3) $(OBJ_COMMON) $(GFXLIBS) $(EXTLIB)libfftw3.a -lm
|
||||
+ $(CC) $(LFLAGS) -o $@ $(OBJ_WATERFALL3) $(OBJ_COMMON) $(GFXLIBS) -lfftw3 -lm
|
||||
@$(STRIP) $@ $(STRIPFLAGS)
|
||||
|
||||
$(OUT)downsample: $(OBJ_DOWNSAMPLE) $(OBJ_COMMON)
|
|
@ -0,0 +1,28 @@
|
|||
[Unit]
|
||||
Description=APRS LoRa connector
|
||||
Documentation=https://github.com/oe5hpm/dxlAPRS
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=dxlaprs
|
||||
SupplementaryGroups=gpio
|
||||
Environment="INOUT0=-a -L 127.0.0.1:9702:0"
|
||||
Environment="INOUT1="
|
||||
Environment="INOUT2="
|
||||
Environment="INOUT3="
|
||||
Environment="INOUT4="
|
||||
Environment="INOUT5="
|
||||
Environment="INOUT6="
|
||||
Environment="INOUT7="
|
||||
Environment="INOUT8="
|
||||
Environment="INOUT9="
|
||||
##Environment="GPIO=8 10 9 11"
|
||||
Environment="GPIO=520 522 521 523"
|
||||
Environment="RXFREQ=433.775"
|
||||
Environment="TXFREQ=433.900"
|
||||
Environment="EXTPARAM=-v"
|
||||
ExecStart=/usr/bin/ra02 -p $GPIO $INOUT0 -f ${RXFREQ} -F ${TXFREQ} $INOUT1 $INOUT2 $INOUT3 $INOUT4 $INOUT5 $INOUT6 $INOUT7 $INOUT8 $INOUT9 $EXTPARAM
|
||||
Type=simple
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,23 @@
|
|||
[Unit]
|
||||
Description=axudp in/out ui/aprs stream splitter, filter, digipeater
|
||||
Documentation=https://github.com/oe5hpm/dxlAPRS
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=dxlaprs
|
||||
Environment="INOUT0=-R 127.0.0.1:9201 -l 127.0.0.1:10201"
|
||||
Environment="INOUT1=-R 127.0.0.1:9702 -l 127.0.0.1:10702"
|
||||
Environment="INOUT2="
|
||||
Environment="INOUT3="
|
||||
Environment="INOUT4="
|
||||
Environment="INOUT5="
|
||||
Environment="INOUT6="
|
||||
Environment="INOUT7="
|
||||
Environment="INOUT8="
|
||||
Environment="INOUT9="
|
||||
Environment="EXTPARAM=-v"
|
||||
ExecStart=/usr/bin/udpbox $INOUT0 $INOUT1 $INOUT2 $INOUT3 $INOUT4 $INOUT5 $INOUT6 $INOUT7 $INOUT8 $INOUT9 $EXTPARAM
|
||||
Type=simple
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,27 @@
|
|||
[Unit]
|
||||
Description=KISS TNC connector
|
||||
Documentation=https://github.com/oe5hpm/dxlAPRS
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=dxlaprs
|
||||
SupplementaryGroups=dialout
|
||||
Environment="INOUT0=-U 127.0.0.1:9201:0"
|
||||
Environment="INOUT1="
|
||||
Environment="INOUT2="
|
||||
Environment="INOUT3="
|
||||
Environment="INOUT4="
|
||||
Environment="INOUT5="
|
||||
Environment="INOUT6="
|
||||
Environment="INOUT7="
|
||||
Environment="INOUT8="
|
||||
Environment="INOUT9="
|
||||
Environment="KISSTCP=-T 127.0.0.1:8001"
|
||||
Environment="EXTPARAM=-V"
|
||||
ExecStart=/usr/bin/udpflex $KISSTCP $INOUT0 $INOUT1 $INOUT2 $INOUT3 $INOUT4 $INOUT5 $INOUT6 $INOUT7 $INOUT8 $INOUT9 $EXTPARAM
|
||||
Type=simple
|
||||
Restart=on-failure
|
||||
RestartSec=30s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
|
@ -0,0 +1,33 @@
|
|||
[Unit]
|
||||
Description=APRS iGate
|
||||
Documentation=https://github.com/oe5hpm/dxlAPRS
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=dxlaprs
|
||||
Environment="CALL=MYCALL"
|
||||
Environment="INOUT0=-R 127.0.0.1:0:10201#2m"
|
||||
Environment="INOUT1=-R 127.0.0.1:0:10702#LoRa"
|
||||
Environment="INOUT2="
|
||||
Environment="INOUT3="
|
||||
Environment="INOUT4="
|
||||
Environment="INOUT5="
|
||||
Environment="INOUT6="
|
||||
Environment="INOUT7="
|
||||
Environment="INOUT8="
|
||||
Environment="INOUT9="
|
||||
Environment="KEEPHEARDDIRECT=10080"
|
||||
Environment="KEEPHEARDINDIRECT=1440"
|
||||
Environment="HEARDMAXLINES=50"
|
||||
Environment="SHOWHEARD=60"
|
||||
Environment="NETBEACON=30:/etc/dxlAPRS/netbeacon.txt"
|
||||
Environment="GATEWAY=/etc/dxlAPRS/gateway.txt"
|
||||
Environment="PASSWORD=/etc/dxlAPRS/password.txt"
|
||||
Environment="LOCALPORT=14580"
|
||||
Environment="WWWPORT=14501"
|
||||
Environment="WWWDIR=/usr/share/dxlAPRS/www/"
|
||||
ExecStart=/usr/bin/udpgate4 -s ${CALL} $INOUT0 $INOUT1 $INOUT2 $INOUT3 $INOUT4 $INOUT5 $INOUT6 $INOUT7 $INOUT8 $INOUT9 -H ${KEEPHEARDDIRECT} -I ${KEEPHEARDINDIRECT} -u ${HEARDMAXLINES} -B ${SHOWHEARD} -n ${NETBEACON} -g ${GATEWAY} -p ${PASSWORD} -t ${LOCALPORT} -w ${WWWPORT} -D ${WWWDIR} -O -0 -v
|
||||
Type=simple
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
Loading…
Reference in New Issue