File hamlib.spec of Package hamlib
#
# spec file for package hamlib
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define sover 4
Name: hamlib
Version: 4.5.5
Release: 0
Summary: Run-time library to control radio transcievers and receivers
License: LGPL-2.1-only
Group: Productivity/Hamradio/Other
URL: https://hamlib.github.io/
Source: https://github.com/Hamlib/Hamlib/releases/download/%{version}/%{name}-%{version}.tar.gz
Source2: https://github.com/Hamlib/Hamlib/releases/download/%{version}/%{name}-%{version}.tar.gz.asc
# taken from debian
Source3: %{name}.keyring
Patch0: hamlib-3.0-perl_install.patch
Patch1: hamlib-add-stdlib-header.patch
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: libtool
BuildRequires: perl
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: readline-devel
BuildRequires: swig
BuildRequires: pkgconfig(gdlib)
BuildRequires: pkgconfig(libusb-1.0)
BuildRequires: pkgconfig(libxml-2.0)
BuildRequires: pkgconfig(lua)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(tcl)
%description
The Ham Radio Control Libraries (Hamlib) provide a programming
interface for controlling radios and other shack hardware.
It is a software layer, not a complete user application.
%package devel
Summary: Development files for hamlib, a set of radio control libraries
Group: Development/Libraries/Other
Requires: libhamlib%{sover} = %{version}
Requires: libhamlib++%{sover} = %{version}
%description devel
Hamlib provide a programming interface for controlling radios and
other shack hardware.
%package -n libhamlib++%{sover}
Summary: C++ interface of the Ham Radio Control Libraries
Group: System/Libraries
%description -n libhamlib++%{sover}
Hamlib provides a programming interface for controlling radios and
other shack hardware. It is a software layer, not a complete user
application.
%package -n libhamlib%{sover}
Summary: C interface of the Ham Radio Control Libraries
Group: System/Libraries
%description -n libhamlib%{sover}
Hamlib provides a programming interface for controlling radios and
other shack hardware. It is a software layer, not a complete user
application.
%package -n lua-Hamliblua
Summary: LUA bindings for Hamlib
Group: Development/Libraries/Other
%description -n lua-Hamliblua
Hamlib provide a programming interface for controlling radios and
other shack hardware.
%package -n python3-Hamlib
Summary: Python 3 bindings for Hamlib
Group: Development/Libraries/Python
%description -n python3-Hamlib
Hamlib provide a programming interface for controlling radios and
other shack hardware.
%package -n tcl-Hamlib
Summary: Tcl bindings for Hamlib
Group: Development/Languages/Tcl
%requires_ge tcl
%description -n tcl-Hamlib
Hamlib provide a programming interface for controlling radios and
other shack hardware.
%package -n perl-Hamlib
Summary: Perl bindings for Hamlib
Group: Development/Languages/Perl
%requires_ge perl-base
%description -n perl-Hamlib
Hamlib provide a programming interface for controlling radios and
other shack hardware.
%prep
%autosetup -p1
%build
autoreconf -fiv
%configure \
--with-perl-binding \
--with-tcl-binding \
--with-lua-binding \
--with-python-binding PYTHON_VERSION=%py3_ver \
--with-xml-support
%make_build
%install
%make_install
find %{buildroot} -type f \( -name '*.a' -o -name '*.la' \) -delete -print
rm %{buildroot}%{perl_vendorarch}/auto/Hamlib/.packlist
mkdir -p %{buildroot}%{_docdir}
mv %{buildroot}/%{_datadir}/doc/%{name} %{buildroot}%{_docdir}
%fdupes %{buildroot}%{python_sitearch}
%check
%make_build check
%post -n libhamlib++%{sover} -p /sbin/ldconfig
%post -n libhamlib%{sover} -p /sbin/ldconfig
%postun -n libhamlib++%{sover} -p /sbin/ldconfig
%postun -n libhamlib%{sover} -p /sbin/ldconfig
%files
%license LICENSE
%doc AUTHORS NEWS
%{_bindir}/rigctl
%{_bindir}/rigctld
%{_bindir}/rigmem
%{_bindir}/rigsmtr
%{_bindir}/rigswr
%{_bindir}/rotctl
%{_bindir}/rotctld
%{_bindir}/ampctl
%{_bindir}/ampctld
%{_bindir}/rigctlcom
%{_bindir}/rigtestlibusb
%{_mandir}/man1/rigctl.1%{?ext_man}
%{_mandir}/man1/rigctld.1%{?ext_man}
%{_mandir}/man1/rigmem.1%{?ext_man}
%{_mandir}/man1/rigsmtr.1%{?ext_man}
%{_mandir}/man1/rigswr.1%{?ext_man}
%{_mandir}/man1/rotctl.1%{?ext_man}
%{_mandir}/man1/rotctld.1%{?ext_man}
%{_mandir}/man1/ampctl.1%{?ext_man}
%{_mandir}/man1/ampctld.1%{?ext_man}
%{_mandir}/man1/rigctlcom.1%{?ext_man}
%{_mandir}/man7/hamlib-primer.7%{?ext_man}
%{_mandir}/man7/hamlib-utilities.7%{?ext_man}
%{_mandir}/man7/hamlib.7%{?ext_man}
%{_docdir}/hamlib
%exclude %{_docdir}/hamlib/COPYING*
%exclude %{_docdir}/hamlib/LICENSE
%files devel
%dir %{_includedir}/hamlib
%{_includedir}/hamlib/*.h
%{_datadir}/aclocal/hamlib.m4
%{_libdir}/pkgconfig/hamlib.pc
%{_libdir}/libhamlib.so
%{_libdir}/libhamlib++.so
%files -n libhamlib%{sover}
%license COPYING COPYING.LIB
%{_libdir}/libhamlib.so.%{sover}*
%files -n libhamlib++%{sover}
%license COPYING COPYING.LIB
%{_libdir}/libhamlib++.so.%{sover}*
%files -n lua-Hamliblua
%{_libdir}/lua
%files -n python3-Hamlib
%{python3_sitearch}/Hamlib.*
%{python3_sitearch}/_Hamlib.*
%{python3_sitearch}/__pycache__/Hamlib.cpython*.pyc
%files -n tcl-Hamlib
%dir %{_libdir}/tcl*/
%dir %{_libdir}/tcl*/Hamlib
%{_libdir}/tcl*/Hamlib/*
%files -n perl-Hamlib
%{perl_vendorarch}/*
%changelog