blob: f436fe28205138aef9193721719d78cf91977fa1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{9..12} )
inherit cmake gnome2-utils python-single-r1 udev
DESCRIPTION="Universal Software Radio Peripheral (USRP) Hardware Driver"
HOMEPAGE="https://kb.ettus.com"
SRC_URI="https://github.com/EttusResearch/uhd/archive/v${PV}.tar.gz -> EttusResearch-UHD-${PV}.tar.gz \
https://github.com/EttusResearch/uhd/releases/download/v${PV}/uhd-images_${PV}.tar.xz"
#https://github.com/EttusResearch/UHD-Mirror/tags
#http://files.ettus.com/binaries/images/
LICENSE="GPL-3"
SLOT="0/$(ver_cut 1-3)"
KEYWORDS="~amd64 ~arm ~riscv ~x86"
IUSE="+b100 +b200 doc cpu_flags_arm_neon cpu_flags_x86_ssse3 e300 examples +mpmd octoclock test +usb +usrp1 +usrp2 +utils +x300"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
b100? ( usb )
b200? ( usb )
usrp1? ( usb )
usrp2? ( usb )
|| ( b100 b200 e300 mpmd usrp1 usrp2 x300 )"
RDEPEND="${PYTHON_DEPS}
e300? ( virtual/udev )
usb? ( virtual/libusb:1 )
dev-libs/boost:=
sys-libs/ncurses:0=
$(python_gen_cond_dep '
dev-python/numpy[${PYTHON_USEDEP}]
dev-python/requests[${PYTHON_USEDEP}]
')
"
DEPEND="${RDEPEND}"
#zip and gzip are directly used by the build system
BDEPEND="
doc? ( app-doc/doxygen )
$(python_gen_cond_dep '
dev-python/mako[${PYTHON_USEDEP}]
')
app-arch/unzip
app-arch/gzip
"
S="${WORKDIR}/${P}/host"
PATCHES=(
"${FILESDIR}"/${PN}-4.3.0.0-gcc-13.patch
)
src_unpack() {
default
mv "uhd-images_${PV}" images || die
}
src_prepare() {
cmake_src_prepare
gnome2_environment_reset #534582
}
src_configure() {
#https://gitlab.kitware.com/cmake/cmake/-/issues/23236
#https://github.com/EttusResearch/uhd/pull/560
local mycmakeargs=(
-DCURSES_NEED_NCURSES=ON
-DENABLE_LIBUHD=ON
-DENABLE_C_API=ON
-DENABLE_MAN_PAGES=ON
-DENABLE_MAN_PAGE_COMPRESSION=OFF
-DENABLE_EXAMPLES="$(usex examples)"
-DENABLE_TESTS="$(usex test)"
-DENABLE_USB="$(usex usb)"
-DENABLE_UTILS="$(usex utils)"
-DENABLE_MANUAL="$(usex doc)"
-DENABLE_DOXYGEN="$(usex doc)"
-DENABLE_B100="$(usex b100)"
-DENABLE_B200="$(usex b200)"
-DENABLE_E300="$(usex e300)"
-DENABLE_USRP1="$(usex usrp1)"
-DENABLE_USRP2="$(usex usrp2)"
-DENABLE_X300="$(usex x300)"
-DENABLE_MPMD="$(usex mpmd)"
-DENABLE_OCTOCLOCK="$(usex octoclock)"
-DENABLE_SSSE3="$(usex cpu_flags_x86_ssse3)"
-DNEON_SIMD_ENABLE="$(usex cpu_flags_arm_neon)"
-DPYTHON_EXECUTABLE="${PYTHON}"
-DPKG_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
-DUHD_VERSION="${PV}"
)
cmake_src_configure
}
src_install() {
cmake_src_install
python_optimize
if use utils; then
python_fix_shebang "${ED}"/usr/$(get_libdir)/${PN}/utils/
if [[ "${PV}" != "9999" ]]; then
rm -r "${ED}/usr/bin/uhd_images_downloader" || die
fi
fi
# do not install test files (bug #857492)
if use test; then
rm "${ED}/usr/lib64/${PN}/tests" -R || die
fi
udev_dorules "${S}/utils/uhd-usrp.rules"
rm -r "${WORKDIR}/images/winusb_driver" || die
if ! use b100; then
rm "${WORKDIR}"/images/usrp_b100* || die
fi
if ! use b200; then
rm "${WORKDIR}"/images/usrp_b2[01]* || die
fi
if ! use e300; then
rm "${WORKDIR}"/images/usrp_e3* || die
fi
if ! use mpmd; then
rm "${WORKDIR}"/images/usrp_n310* || die
fi
if ! use octoclock; then
rm "${WORKDIR}"/images/octoclock* || die
fi
if ! use usrp1; then
rm "${WORKDIR}"/images/usrp1* || die
fi
if ! use usrp2; then
rm "${WORKDIR}"/images/usrp2* || die
rm "${WORKDIR}"/images/usrp_n2[01]* || die
rm -r "${WORKDIR}"/images/bit || die
fi
if ! use x300; then
rm "${WORKDIR}/"images/usrp_x3* || die
fi
insinto /usr/share/${PN}
doins -r "${WORKDIR}/images"
}
pkg_postinst() {
udev_reload
}
pkg_postrm() {
udev_reload
}
|