Сравнение gpsd-3.26.1-r1 с gpsd-9999

/usr/portage/sci-geosciences/gpsd/gpsd-9999.ebuild 2026-07-15 20:03:04.607985631 +0300
5 5

  
6 6
DISTUTILS_OPTIONAL=1
7 7
DISTUTILS_USE_PEP517=setuptools
8
PYTHON_COMPAT=( python3_{11..13} )
8
PYTHON_COMPAT=( python3_{11..14} )
9 9
SCONS_MIN_VERSION="2.3.0"
10 10

  
11
inherit distutils-r1 scons-utils systemd toolchain-funcs udev
11
inherit distutils-r1 optfeature scons-utils systemd toolchain-funcs udev
12 12

  
13 13
if [[ ${PV} == 9999 ]] ; then
14 14
	EGIT_REPO_URI="https://gitlab.com/gpsd/gpsd.git"
15 15
	inherit git-r3
16 16
else
17
	SRC_URI="mirror://nongnu/${PN}/${P}.tar.xz"
18
	KEYWORDS="amd64 arm ~arm64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86"
17
	VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/garyemiller.asc
18
	inherit verify-sig
19
	SRC_URI="
20
		mirror://nongnu/${PN}/${P}.tar.xz
21
		verify-sig? ( mirror://nongnu/${PN}/${P}.tar.xz.sig )
22
	"
23
	KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
19 24
fi
20 25

  
21 26
DESCRIPTION="GPS daemon and library for USB/serial GPS devices and GPS/mapping clients"
......
30 35
	sirf skytraq superstar2 tnt tripmate tsip
31 36
)
32 37
IUSE_GPSD_PROTOCOLS=${GPSD_PROTOCOLS[@]/#/+gpsd_protocols_}
33
IUSE="${IUSE_GPSD_PROTOCOLS} bluetooth +cxx dbus debug latency-timing ncurses ntp qt6 selinux +shm static systemd test udev usb X"
38
IUSE="${IUSE_GPSD_PROTOCOLS} bluetooth +cxx dbus debug latency-timing ncurses ntp qt6 selinux +shm systemd test udev usb"
34 39
REQUIRED_USE="
35 40
	gpsd_protocols_nmea2000? ( gpsd_protocols_aivdm )
36 41
	${PYTHON_REQUIRED_USE}
......
38 43
"
39 44
RESTRICT="!test? ( test )"
40 45

  
41
RDEPEND="
46
DEPEND="
42 47
	acct-user/gpsd
43 48
	acct-group/dialout
44 49
	>=net-misc/pps-tools-0.0.20120407
50
	sys-libs/libcap
45 51
	bluetooth? ( net-wireless/bluez:= )
46 52
	dbus? (
47 53
		sys-apps/dbus
48 54
		dev-libs/dbus-glib
49 55
	)
50 56
	ncurses? ( sys-libs/ncurses:= )
51
	ntp? ( || (
52
		net-misc/ntp
53
		net-misc/ntpsec
54
		net-misc/chrony
55
	) )
56 57
	qt6? ( dev-qt/qtbase:6[network] )
57 58
	${PYTHON_DEPS}
58 59
	dev-python/pyserial[${PYTHON_USEDEP}]
59 60
	usb? ( virtual/libusb:1 )
60
	X? ( dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] )"
61
DEPEND="${RDEPEND}"
62
BDEPEND="virtual/pkgconfig
61
"
62
RDEPEND="
63
	${DEPEND}
64
	ntp? ( || (
65
		net-misc/ntpsec
66
		net-misc/chrony
67
		net-misc/ntp
68
	) )
69
	selinux? ( sec-policy/selinux-gpsd )
70
"
71
BDEPEND="
72
	virtual/pkgconfig
63 73
	$(python_gen_any_dep 'dev-build/scons[${PYTHON_USEDEP}]')
64 74
	${DISTUTILS_DEPS}
65
	test? ( app-alternatives/bc )"
66
RDEPEND+=" selinux? ( sec-policy/selinux-gpsd )"
75
	test? ( app-alternatives/bc )
76
"
67 77

  
68
# asciidoctor package is for man page generation
69 78
if [[ ${PV} == *9999* ]] ; then
79
	# asciidoctor package is for man page generation
70 80
	BDEPEND+=" dev-ruby/asciidoctor"
81
else
82
	BDEPEND+=" verify-sig? ( sec-keys/openpgp-keys-garyemiller )"
71 83
fi
72 84

  
73 85
PATCHES=(
74
	"${FILESDIR}/${P}-qt6.patch"	   # bug 962118, in git master
75 86
	"${FILESDIR}/${PN}-drop-dia.patch" # bugs 836730, 967742
76 87
	"${FILESDIR}/${PN}-no-class.patch" # from Portage
77 88
)
......
101 112
python_prepare_all() {
102 113
	python_setup
103 114

  
104
	# bug #796476
105
	python_export_utf8_locale
106

  
107
	# Extract python info out of SConscript so we can use saner distribute
108
	pyarray() { sed -n "/^ *$1 *= *\\[/,/\\]/p" SConscript ; }
109
	local pyprogs=$(pyarray python_progs)
110
	local pybins=$("${PYTHON}" -c "${pyprogs}; \
111
		print(list(set(python_progs) - {'xgps', 'xgpsspeed', 'ubxtool', 'zerk'}))" || die "Unable to list pybins")
112
	# Handle conditional tools manually. #666734
113
	use X && pybins+="+ ['xgps', 'xgpsspeed']"
114
	pybins+="+ ['ubxtool']"
115
	use gpsd_protocols_greis && pybins+="+ ['zerk']"
116
	local pysrcs=$(pyarray packet_ffi_extension)
117
	local packet=$("${PYTHON}" -c "${pysrcs}; print(packet_ffi_extension)" || die "Unable to extract packet types")
118

  
119 115
	pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConscript ; }
120 116
	pyvar2() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
121 117

  
122 118
	# Post 3.19 the clienthelpers were merged into gps.packet
123 119

  
124
	# TODO: Fix hardcoding https://gpsd.io/ for now for @URL@
125 120
	sed \
126 121
		-e "s|@VERSION@|$(pyvar2 gpsd_version | sed -e 's:\"::g')|" \
127
		-e "s|@URL@|https://gpsd.io/|" \
128 122
		-e "s|@DEVMAIL@|$(pyvar devmail)|" \
129
		-e "s|@SCRIPTS@|${pybins}|" \
130 123
		-e "s|@DOWNLOAD@|$(pyvar download)|" \
131 124
		-e "s|@IRCCHAN@|$(pyvar ircchan)|" \
132 125
		-e "s|@ISSUES@|$(pyvar bugtracker)|" \
......
156 149
		nostrip=True
157 150
		systemd=$(usex systemd)
158 151
		unitdir="$(systemd_get_systemunitdir)"
159
		shared=$(usex !static True False)
152
		shared=True
160 153
		bluez=$(usex bluetooth)
161 154
		libgpsmm=$(usex cxx)
162 155
		clientdebug=$(usex debug)
......
178 171
		scons_opts+=( manbuild=False )
179 172
	fi
180 173

  
181
	use X && scons_opts+=( xgps=1 xgpsspeed=1 )
182 174
	use qt6 && scons_opts+=( qt_versioned=6 )
183 175

  
184 176
	# enable specified protocols
......
193 185

  
194 186
src_compile() {
195 187
	export CHRPATH=
196
	tc-export CC CXX PKG_CONFIG
188
	tc-export AR CC CXX PKG_CONFIG
197 189
	export SHLINKFLAGS=${LDFLAGS} LINKFLAGS=${LDFLAGS}
198 190
	escons "${scons_opts[@]}"
199 191

  
......
214 206

  
215 207
python_install() {
216 208
	while read -d '' -r file ; do
217
		grep -q "#!/usr/bin/env python" "${file}" && python_doscript "${file}"
209
		grep -q "#! \?/usr/bin/env python" "${file}" && python_doscript "${file}"
218 210
	done < <(find "${T}"/scripts -type f -print0)
219 211

  
220 212
	distutils-r1_python_install
......
241 233

  
242 234
pkg_postinst() {
243 235
	use udev && udev_reload
236
	optfeature "gpsplot" dev-python/matplotlib
237
	optfeature "xgpsd and xgpsspeed" dev-python/pygobject[cairo]
238
}
239

  
240
pkg_postrm() {
241
	use udev && udev_reload
244 242
}
Спасибо!