commit:     c463a4eec44195855da8647e54fc47cf6639cbfd
Author:     James Browning <jamesb.fe80 <AT> gmail <DOT> com>
AuthorDate: Mon Aug  9 23:45:45 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Mon Aug  9 23:46:50 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c463a4ee

sci-geosciences/gpsd: update 9999 with upstream changes

2.23 will follow soon. Will cut it based on the 9999
ebuild.

[Small rebasing changes by sam@].

Bug: https://bugs.gentoo.org/806770
Closes: https://bugs.gentoo.org/777960
Signed-off-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: James Browning <jamesb.fe80 <AT> gmail.com>

 sci-geosciences/gpsd/gpsd-9999.ebuild | 61 ++++++++++++++++++-----------------
 1 file changed, 32 insertions(+), 29 deletions(-)

diff --git a/sci-geosciences/gpsd/gpsd-9999.ebuild 
b/sci-geosciences/gpsd/gpsd-9999.ebuild
index 0424345e875..6ff3dbd3190 100644
--- a/sci-geosciences/gpsd/gpsd-9999.ebuild
+++ b/sci-geosciences/gpsd/gpsd-9999.ebuild
@@ -4,7 +4,7 @@
 EAPI=7
 
 DISTUTILS_OPTIONAL=1
-PYTHON_COMPAT=( python3_{7,8,9} )
+PYTHON_COMPAT=( python3_{8,9,10} )
 SCONS_MIN_VERSION="2.3.0"
 
 inherit udev multilib distutils-r1 scons-utils toolchain-funcs
@@ -21,7 +21,7 @@ DESCRIPTION="GPS daemon and library for USB/serial GPS 
devices and GPS/mapping c
 HOMEPAGE="https://gpsd.gitlab.io/gpsd/";
 
 LICENSE="BSD"
-SLOT="0/27"
+SLOT="0/29"
 
 GPSD_PROTOCOLS=(
        aivdm ashtech earthmate evermore fury fv18 garmin garmintxt geostar
@@ -63,37 +63,27 @@ RDEPEND="
        gpsd_protocols_greis? ( dev-python/pyserial )
        usb? ( virtual/libusb:1 )
        X? ( dev-python/pygobject:3[cairo,${PYTHON_USEDEP}] )"
-DEPEND="${RDEPEND}
-       virtual/pkgconfig
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig
        test? ( sys-devel/bc )"
 
-# xml packages are for man page generation
+# asciidoctor package is for man page generation
 if [[ ${PV} == *9999* ]] ; then
-       DEPEND+="
-               app-text/xmlto
-               =app-text/docbook-xml-dtd-4.1*"
+       BDEPEND+=" dev-ruby/asciidoctor"
 fi
 
 src_prepare() {
        # Make sure our list matches the source.
        local src_protocols=$(echo $(
-               sed -n '/# GPS protocols/,/# Time 
service/{s:#.*::;s:[(",]::g;p}' "${S}"/SConstruct | awk '{print $1}' | LC_ALL=C 
sort
+               sed -n '/# GPS protocols/,/# Time 
service/{s:#.*::;s:[(",]::g;p}' "${S}"/SConscript | awk '{print $1}' | LC_ALL=C 
sort
        ) )
+
        if [[ ${src_protocols} != ${GPSD_PROTOCOLS[*]} ]] ; then
                eerror "Detected protocols: ${src_protocols}"
                eerror "Ebuild protocols:   ${GPSD_PROTOCOLS[*]}"
                die "please sync ebuild & source"
        fi
 
-       # Avoid useless -L paths to the install dir
-       sed -i \
-               -e 's:\<STAGING_PREFIX\>:SYSROOT:g' \
-               SConstruct || die
-
-       #Fix systemd binary paths
-       sed -i -e 's/local\///' 'systemd/gpsd.service'
-       sed -i -e 's/local\///' 'systemd/[email protected]'
-
        default
 
        use python && distutils-r1_src_prepare
@@ -102,8 +92,8 @@ src_prepare() {
 python_prepare_all() {
        python_setup
 
-       # Extract python info out of SConstruct so we can use saner distribute
-       pyarray() { sed -n "/^ *$1 *= *\\[/,/\\]/p" SConstruct ; }
+       # Extract python info out of SConscript so we can use saner distribute
+       pyarray() { sed -n "/^ *$1 *= *\\[/,/\\]/p" SConscript ; }
        local pyprogs=$(pyarray python_progs)
        local pybins=$("${PYTHON}" -c "${pyprogs}; \
                print(list(set(python_progs) - {'xgps', 'xgpsspeed', 'ubxtool', 
'zerk'}))" || die "Unable to list pybins")
@@ -114,17 +104,25 @@ python_prepare_all() {
        local pysrcs=$(pyarray packet_ffi_extension)
        local packet=$("${PYTHON}" -c "${pysrcs}; print(packet_ffi_extension)" 
|| die "Unable to extract packet types")
 
-       pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
+       pyvar() { sed -n "/^ *$1 *=/s:.*= *::p" SConscript ; }
+       pyvar2() { sed -n "/^ *$1 *=/s:.*= *::p" SConstruct ; }
+
        # Post 3.19 the clienthelpers were merged into gps.packet
+
+       # TODO: Fix hardcoding https://gpsd.io/ for now for @URL@
        sed \
-               -e "s|@VERSION@|$(pyvar gpsd_version)|" \
-               -e "s|@URL@|$(pyvar website)|" \
-               -e "s|@EMAIL@|$(pyvar devmail)|" \
-               -e "s|@SCRIPTS@|${pybins}|" \
-               -e "s|@GPS_PACKET_SOURCES@|${packet}|" \
-               -e "/@GPS_CLIENT_SOURCES@/d" \
+               -e "s|@VERSION@|$(pyvar2 gpsd_version | sed -e 's:\"::g')|" \
+               -e "s|@URL@|https://gpsd.io/|" \
+               -e "s|@DEVMAIL@|$(pyvar devmail)|" \
                -e "s|@SCRIPTS@|${pybins}|" \
-               "${FILESDIR}"/${PN}-3.3-setup.py > setup.py || die
+               -e "s|@DOWNLOAD@|$(pyvar download)|" \
+               -e "s|@IRCCHAN@|$(pyvar ircchan)|" \
+               -e "s|@ISSUES@|$(pyvar bugtracker)|" \
+               -e "s|@MAILMAN@|$(pyvar mailman)|" \
+               -e "s|@PROJECTPAGE@|$(pyvar projectpage)|" \
+               -e "s|@SUPPORT@|https://gpsd.io/SUPPORT.html|" \
+               -e "s|@WEBSITE@|https://gpsd.io/|" \
+               "${S}"/packaging/gpsd-setup.py.in > setup.py || die
        distutils-r1_python_prepare_all
 }
 
@@ -138,7 +136,8 @@ src_configure() {
                gpsd_user=gpsd
                gpsd_group=dialout
                nostrip=True
-               manbuild=False
+               systemd=yes
+               unitdir="\$prefix/$(get_libdir)"
                shared=$(usex !static True False)
                bluez=$(usex bluetooth)
                libgpsmm=$(usex cxx)
@@ -159,6 +158,10 @@ src_configure() {
                usb=$(usex usb)
        )
 
+       if [[ ${PV} != *9999* ]] ; then
+               scons_opts+=( manbuild=False )
+       fi
+
        use X && scons_opts+=( xgps=1 xgpsspeed=1 )
        use qt5 && scons_opts+=( qt_versioned=5 )
 

Reply via email to