pentoo-overlay/net-wireless/nrc7292/nrc7292-9999.ebuild
2024-04-02 22:34:35 -04:00

85 lines
2.8 KiB
Bash

# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit linux-mod-r1
DESCRIPTION="NRC7292 Software Package for Host mode"
HOMEPAGE="https://newracom.com/products"
if [[ ${PV} == *9999 ]]; then
inherit git-r3
#EGIT_REPO_URI="https://github.com/Gateworks/nrc7292.git"
#S="${WORKDIR}/${P}/package/host/nrc_driver/source/nrc_driver/nrc"
EGIT_REPO_URI="https://github.com/newracom/nrc7292_sw_pkg.git"
#EGIT_REPO_URI="https://github.com/teledatics/nrc7292_sw_pkg.git"
S="${WORKDIR}/${P}/package/src/nrc"
else
SRC_URI="https://github.com/newracom/nrc7292_sw_pkg/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
#KEYWORDS="~amd64 ~x86"
S="${WORKDIR}/nrc7292_sw_pkg-${PV}/package/src/nrc"
fi
LICENSE="GPL-2"
SLOT="0"
IUSE="kernel_linux"
# compile against selected (not running) target
pkg_setup() {
if use kernel_linux; then
linux-mod-r1_pkg_setup
else
die "Could not determine proper ${PN} package"
fi
}
src_prepare() {
sed -i 's#-Werror#-Wno-error=incompatible-pointer-types#' Makefile || die
# prebuilt things we do not want
rm ../../evk/binary/nrc.ko || die
rm ../../evk/sw_pkg/nrc_pkg/sw/driver/nrc.ko || die
rm ../../evk/sw_pkg/nrc_pkg/script/cli_app || die
# things we do not need
rm -r ../../evk/sw_pkg/nrc_pkg/script/sniffer || die
default
}
src_compile() {
local modlist=( nrc=misc )
local modargs=( KVER="${KV_FULL}" KSRC="${KERNEL_DIR}" KDIR="${KERNEL_DIR}" )
emake clean
linux-mod-r1_src_compile
emake -C ../cli_app
}
src_install() {
insinto /lib/firmware
doins ../../evk/sw_pkg/nrc_pkg/sw/firmware/nrc7292_bd.dat
newins ../../evk/sw_pkg/nrc_pkg/sw/firmware/nrc7292_cspi.bin uni_s1g.bin
rm -r ../../evk/sw_pkg/nrc_pkg/sw/firmware || die
insinto /opt/nrc_pkg
doins -r ../../evk/sw_pkg/nrc_pkg/*
linux-mod-r1_src_install
insinto /opt/nrc_pkg/sw/driver
doins nrc.ko
exeinto /opt/nrc_pkg/script
newexe ../cli_app/cli_app cli_app
#sed -i '#sudo /opt/nrc_pkg/sw/firmware/copy#d' "${ED}/opt/nrc_pkg/script/start.py" || die
sed -i 's#home/pi#opt#' "${ED}/opt/nrc_pkg/script/start.py" || die
sed -i 's#wlan1#wlan2#g' "${ED}/opt/nrc_pkg/script/start.py" || die
sed -i 's#wlan0#wlan1#g' "${ED}/opt/nrc_pkg/script/start.py" || die
sed -i 's#home/pi#opt#' "${ED}/opt/nrc_pkg/script/stop.py" || die
sed -i 's#wlan0#wlan1#g' "${ED}/opt/nrc_pkg/script/stop.py" || die
sed -i 's#home/pi#opt#' "${ED}/opt/nrc_pkg/script/run_recovery.py" || die
sed -i 's#wlan0#wlan1#g' "${ED}/opt/nrc_pkg/script/run_recovery.py" || die
fperms +x "/opt/nrc_pkg/script/start.py" || die
fperms +x "/opt/nrc_pkg/script/stop.py" || die
fperms +x "/opt/nrc_pkg/script/mesh.py" || die
fperms +x "/opt/nrc_pkg/script/mesh_add_peer.py" || die
fperms +x "/opt/nrc_pkg/script/run_recovery.py" || die
fperms +x "/opt/nrc_pkg/script/ps_resume.sh" || die
fperms +x "/opt/nrc_pkg/script/ps_suspend.sh" || die
}