summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2021-08-10 09:54:11 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2021-08-12 15:53:09 -0700
commit056518c71263b8f17826f68e15d969526c1301ee (patch)
treead3fccc464400093b84326ce63c3a550c86cd839
parentdev-python/dns-lexicon: add github upstream metadata (diff)
downloadgentoo-056518c71263b8f17826f68e15d969526c1301ee.tar.gz
gentoo-056518c71263b8f17826f68e15d969526c1301ee.tar.bz2
gentoo-056518c71263b8f17826f68e15d969526c1301ee.zip
net-wireless/dump1090: bump w/ improvements
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
-rw-r--r--net-wireless/dump1090/Manifest1
-rw-r--r--net-wireless/dump1090/dump1090-4.0.ebuild4
-rw-r--r--net-wireless/dump1090/dump1090-5.0.ebuild95
-rw-r--r--net-wireless/dump1090/dump1090-9999.ebuild69
-rw-r--r--net-wireless/dump1090/files/dump1090-5.0.confd20
-rw-r--r--net-wireless/dump1090/files/dump1090-5.0.initd15
-rw-r--r--net-wireless/dump1090/files/tmpfilesd-dump1090-5.0.conf4
-rw-r--r--net-wireless/dump1090/metadata.xml2
8 files changed, 193 insertions, 17 deletions
diff --git a/net-wireless/dump1090/Manifest b/net-wireless/dump1090/Manifest
index 2e1c6203b23c..c9f99e8b0b24 100644
--- a/net-wireless/dump1090/Manifest
+++ b/net-wireless/dump1090/Manifest
@@ -1 +1,2 @@
DIST dump1090-4.0.tar.gz 6663754 BLAKE2B bf0a6c8dfd8b2da5ed0e7ae5f7b862c57a54e5d48bc24b29e42ebffec4e0606604fbe4b8502e85df60a3a618568bf9e2eba88e5ad2fdec7fb93043b823435362 SHA512 97dc872e4d0ac8df2f46e17b590e970a62a78baf81e18a9beeb23d37a4401a2e52591ca96cc01e1465b22aa234cf9e88f84a7b0f27d0144b3afeac62f6252c95
+DIST dump1090-5.0.tar.gz 10124422 BLAKE2B d6b26a444f73cccd002558b6863431537078e1fe9f61e4e240d4a5f06181b9ff713387aad623c2ee8257c2568bd4dd373746606c356ac3ff0f27f411d4949997 SHA512 1104982308db788993bf5dc130a5ca369c8bfaaae56cd5a435bbd22ed99b0633594789334d7f256bad2b288c4906923baf8bc73e2f7b7f9f52f7068b9b519142
diff --git a/net-wireless/dump1090/dump1090-4.0.ebuild b/net-wireless/dump1090/dump1090-4.0.ebuild
index acbbbb805755..c49bf27909f2 100644
--- a/net-wireless/dump1090/dump1090-4.0.ebuild
+++ b/net-wireless/dump1090/dump1090-4.0.ebuild
@@ -30,8 +30,8 @@ BDEPEND="virtual/pkgconfig"
src_prepare() {
default
- sed -i -e 's#-O3 -g -Wall -Wmissing-declarations -Werror -W##' Makefile || die
- sed -i -e "s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" Makefile || die
+ sed -i -e '/CFLAGS/s# -O3 -g -Wall -Wmissing-declarations -Werror -W # #' Makefile || die
+ sed -i -e "/LIBS_CURSES/s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" Makefile || die
}
src_compile() {
diff --git a/net-wireless/dump1090/dump1090-5.0.ebuild b/net-wireless/dump1090/dump1090-5.0.ebuild
new file mode 100644
index 000000000000..dc9893bd0a78
--- /dev/null
+++ b/net-wireless/dump1090/dump1090-5.0.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit tmpfiles toolchain-funcs
+
+DESCRIPTION="simple Mode S decoder for RTLSDR devices"
+HOMEPAGE="https://github.com/flightaware/dump1090"
+
+if [[ ${PV} == *9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/flightaware/${PN}.git"
+else
+ KEYWORDS="~amd64 ~x86"
+ SRC_URI="https://github.com/flightaware/dump1090/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="bladerf hackrf +rtlsdr minimal"
+
+DEPEND="
+ sys-libs/ncurses:=[tinfo]
+ bladerf? ( net-wireless/bladerf:= virtual/libusb:1 )
+ hackrf? ( net-libs/libhackrf:= virtual/libusb:1 )
+ rtlsdr? ( net-wireless/rtl-sdr:= virtual/libusb:1 )"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ sed -i -e '/CFLAGS/s# -O3 -g -Wall -Wmissing-declarations -Werror -W # #' Makefile || die
+ sed -i -e "/LIBS_CURSES/s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" Makefile || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" \
+ BLADERF=$(usex bladerf) \
+ RTLSDR=$(usex rtlsdr) \
+ HACKRF=$(usex hackrf) \
+ CPUFEATURES=yes \
+ LIMESDR=no
+}
+
+src_install() {
+ dobin ${PN}
+ dobin view1090
+ dodoc README.md README-json.md
+ # DSP config for bladerf
+ if use bladerf; then
+ insinto usr/share/${PN}/bladerf
+ doins bladerf/*
+ fi
+
+ newtmpfiles "${FILESDIR}"/tmpfilesd-dump1090-5.0.conf ${PN}.conf
+ newconfd "${FILESDIR}"/dump1090-5.0.confd ${PN}
+ newinitd "${FILESDIR}"/dump1090-5.0.initd ${PN}
+
+ if use !minimal; then
+ insinto /usr/share/${PN}
+ doins -r tools
+
+ # Some tooling expects the -fa variant directory to contain the files
+ dosym ../../usr/share/${PN} /usr/share/dump1090-fa
+
+ # Older HTML
+ insinto /usr/share/${PN}/html
+ doins -r public_html/*
+ # Newer HTML
+ insinto /usr/share/skyaware/html
+ doins -r public_html_merged/*
+
+ # One of these this should be included into other lighttpd configs
+ insinto /usr/share/${PN}/lighttpd
+ # Old style:
+ doins debian/lighttpd/89-dump1090-fa.conf
+ doins debian/lighttpd/88-dump1090-fa-statcache.conf
+ # New style:
+ doins debian/lighttpd/89-skyaware.conf
+
+ # See README.md for how to use custom wisdom files
+ exeinto /usr/share/${PN}/wisdom
+ doexe debian/generate-wisdom
+ insinto /usr/share/${PN}/wisdom
+ doins wisdom.*
+ doins wisdom/wisdom.*
+ # For /etc/dump1090-fa/wisdom.local
+ keepdir /etc/dump1090-fa/
+
+ # Tooling to generate custom wisdom:
+ exeinto /usr/libexec/${PN}
+ doexe starch-benchmark
+ fi
+}
diff --git a/net-wireless/dump1090/dump1090-9999.ebuild b/net-wireless/dump1090/dump1090-9999.ebuild
index b6d89bd1d31a..dc9893bd0a78 100644
--- a/net-wireless/dump1090/dump1090-9999.ebuild
+++ b/net-wireless/dump1090/dump1090-9999.ebuild
@@ -3,7 +3,7 @@
EAPI=7
-inherit toolchain-funcs
+inherit tmpfiles toolchain-funcs
DESCRIPTION="simple Mode S decoder for RTLSDR devices"
HOMEPAGE="https://github.com/flightaware/dump1090"
@@ -18,39 +18,78 @@ fi
LICENSE="BSD"
SLOT="0"
-IUSE="bladerf +rtlsdr"
+IUSE="bladerf hackrf +rtlsdr minimal"
DEPEND="
sys-libs/ncurses:=[tinfo]
- virtual/libusb:1
- bladerf? ( net-wireless/bladerf:= )
- rtlsdr? ( net-wireless/rtl-sdr:= )"
+ bladerf? ( net-wireless/bladerf:= virtual/libusb:1 )
+ hackrf? ( net-libs/libhackrf:= virtual/libusb:1 )
+ rtlsdr? ( net-wireless/rtl-sdr:= virtual/libusb:1 )"
RDEPEND="${DEPEND}"
BDEPEND="virtual/pkgconfig"
src_prepare() {
default
- sed -i -e 's#-O2 -g -Wall -Werror -W##' Makefile || die
- sed -i -e "s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" Makefile || die
+ sed -i -e '/CFLAGS/s# -O3 -g -Wall -Wmissing-declarations -Werror -W # #' Makefile || die
+ sed -i -e "/LIBS_CURSES/s#-lncurses#$($(tc-getPKG_CONFIG) --libs ncurses)#" Makefile || die
}
src_compile() {
emake CC="$(tc-getCC)" \
BLADERF=$(usex bladerf) \
- RTLSDR=$(usex rtlsdr)
+ RTLSDR=$(usex rtlsdr) \
+ HACKRF=$(usex hackrf) \
+ CPUFEATURES=yes \
+ LIMESDR=no
}
src_install() {
dobin ${PN}
dobin view1090
- dodoc README.md
+ dodoc README.md README-json.md
+ # DSP config for bladerf
+ if use bladerf; then
+ insinto usr/share/${PN}/bladerf
+ doins bladerf/*
+ fi
- insinto /usr/share/${PN}/html
- doins -r public_html/*
+ newtmpfiles "${FILESDIR}"/tmpfilesd-dump1090-5.0.conf ${PN}.conf
+ newconfd "${FILESDIR}"/dump1090-5.0.confd ${PN}
+ newinitd "${FILESDIR}"/dump1090-5.0.initd ${PN}
- insinto /usr/share/${PN}
- doins -r tools
+ if use !minimal; then
+ insinto /usr/share/${PN}
+ doins -r tools
- insinto /usr/share/${PN}
- newins debian/lighttpd/89-dump1090-fa.conf lighttpd.conf
+ # Some tooling expects the -fa variant directory to contain the files
+ dosym ../../usr/share/${PN} /usr/share/dump1090-fa
+
+ # Older HTML
+ insinto /usr/share/${PN}/html
+ doins -r public_html/*
+ # Newer HTML
+ insinto /usr/share/skyaware/html
+ doins -r public_html_merged/*
+
+ # One of these this should be included into other lighttpd configs
+ insinto /usr/share/${PN}/lighttpd
+ # Old style:
+ doins debian/lighttpd/89-dump1090-fa.conf
+ doins debian/lighttpd/88-dump1090-fa-statcache.conf
+ # New style:
+ doins debian/lighttpd/89-skyaware.conf
+
+ # See README.md for how to use custom wisdom files
+ exeinto /usr/share/${PN}/wisdom
+ doexe debian/generate-wisdom
+ insinto /usr/share/${PN}/wisdom
+ doins wisdom.*
+ doins wisdom/wisdom.*
+ # For /etc/dump1090-fa/wisdom.local
+ keepdir /etc/dump1090-fa/
+
+ # Tooling to generate custom wisdom:
+ exeinto /usr/libexec/${PN}
+ doexe starch-benchmark
+ fi
}
diff --git a/net-wireless/dump1090/files/dump1090-5.0.confd b/net-wireless/dump1090/files/dump1090-5.0.confd
new file mode 100644
index 000000000000..3350294ae8c0
--- /dev/null
+++ b/net-wireless/dump1090/files/dump1090-5.0.confd
@@ -0,0 +1,20 @@
+# These variable names are chose to be as close as possible to the upstream & Debian options.
+RECEIVER_OPTIONS="--device-index 0 --gain -10 --ppm 0"
+DECODER_OPTIONS="--max-range 360 --fix"
+NET_OPTIONS="--net --net-heartbeat 60 --net-ro-size 1300 --net-ro-interval 0.2 --net-ri-port 0 --net-ro-port 30002 --net-sbs-port 30003 --net-bi-port 30004,30104 --net-bo-port 30005"
+JSON_OPTIONS="--json-location-accuracy 1 --write-json /run/dump1090/"
+
+# See README.md for custom wisdom, or use one of the bundled wisdom files
+WISDOM_FILE=
+[ -f /etc/dump1090-fa/wisdom.local ] && WISDOM_FILE=/etc/dump1090-fa/wisdom.local
+
+# Optional, populate these with your location
+#PIAWARE_LAT=
+#PIAWARE_LON=
+# Or populate file /var/cache/piaware/location.env
+[ -f /var/cache/piaware/location.env ] && source /var/cache/piaware/location.env
+
+if [ -n "$PIAWARE_LAT" -a -n "$PIAWARE_LON" ]
+then
+ POSITION="--lat $PIAWARE_LAT --lon $PIAWARE_LON"
+fi
diff --git a/net-wireless/dump1090/files/dump1090-5.0.initd b/net-wireless/dump1090/files/dump1090-5.0.initd
new file mode 100644
index 000000000000..47c2d240bb54
--- /dev/null
+++ b/net-wireless/dump1090/files/dump1090-5.0.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+# Copyright 2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+name="dump1090"
+description=""
+command=/usr/bin/dump1090
+command_args="$RECEIVER_OPTIONS $DECODER_OPTIONS $NET_OPTIONS $JSON_OPTIONS $POSITION ${WISDOM_FILE:+--wisdom} ${WISDOM_FILE}"
+
+depend() {
+ use rtl_tcp
+}
+pre_start() {
+ mkdir -p /run/dump1090/
+}
diff --git a/net-wireless/dump1090/files/tmpfilesd-dump1090-5.0.conf b/net-wireless/dump1090/files/tmpfilesd-dump1090-5.0.conf
new file mode 100644
index 000000000000..67341178bfe2
--- /dev/null
+++ b/net-wireless/dump1090/files/tmpfilesd-dump1090-5.0.conf
@@ -0,0 +1,4 @@
+# The daemon will write out JSON files for the webserver here
+d /run/dump1090/ 755 root root -
+# The some upstream configs expect it to be in /run/dump1090-fa/
+L /run/dump1090-fa - - - - /run/dump1090/
diff --git a/net-wireless/dump1090/metadata.xml b/net-wireless/dump1090/metadata.xml
index da238ebeece0..f515f0879802 100644
--- a/net-wireless/dump1090/metadata.xml
+++ b/net-wireless/dump1090/metadata.xml
@@ -7,7 +7,9 @@
</maintainer>
<use>
<flag name="bladerf">Build with Nuand BladeRF support</flag>
+ <flag name="hackrf">Build with Great Scott Gadgets HackRF support</flag>
<flag name="rtlsdr">Build with Realtek RTL2832U (rtlsdr) support</flag>
+ <flag name="minimal">Exclude all HTML/webserver extras for a tiny build, e.g. to export data only</flag>
</use>
<upstream>
<remote-id type="github">flightaware/dump1090</remote-id>