File hidapi.spec of Package hidapi

#
# spec file for package hidapi
#
# 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 0
Name:           hidapi
Version:        0.14.0
Release:        1.5
Summary:        Simple library for communicating with USB and Bluetooth HID devices
License:        BSD-3-Clause OR GPL-3.0-or-later
Group:          System/Libraries
URL:            https://github.com/libusb/hidapi
Source:         https://github.com/libusb/hidapi/archive/%{name}-%{version}.tar.gz
# PATCH-FIX-OPENSUSE do_not_install_docs.patch -- don't let make install put files into /usr/share/doc/packages
Patch0:         do_not_install_docs.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  gcc-c++
BuildRequires:  libtool
BuildRequires:  libusb-1_0-devel
BuildRequires:  make
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(libudev)

%description
HIDAPI is a library which allows an application to interface with USB and Bluetooth HID-Class devices.
While it can be used to communicate with standard HID devices like keyboards, mice, and Joysticks, it is most useful when used with custom (Vendor-Defined) HID devices.

%package -n libhidapi-devel
Summary:        Development libraries and header files for hidapi
Group:          Development/Libraries/C and C++
Requires:       glibc-devel
Requires:       libhidapi-hidraw%{sover} = %{version}
Requires:       libhidapi-libusb%{sover} = %{version}
Requires:       libudev-devel
Requires:       libusb-1_0-devel

%description -n libhidapi-devel
This package contains the header files and libraries for building
programs using the hidapi library.

%package -n libhidapi-hidraw%{sover}
Summary:        Simple library for communicating with USB and Bluetooth HID devices
Group:          System/Libraries

%description -n libhidapi-hidraw%{sover}
HIDAPI is a library which allows an application to interface with USB and Bluetooth HID-Class devices.
While it can be used to communicate with standard HID devices like keyboards, mice, and Joysticks, it is most useful when used with custom (Vendor-Defined) HID devices.

%package -n libhidapi-libusb%{sover}
Summary:        Simple library for communicating with USB and Bluetooth HID devices
Group:          System/Libraries

%description -n libhidapi-libusb%{sover}
HIDAPI is a library which allows an application to interface with USB and Bluetooth HID-Class devices.
While it can be used to communicate with standard HID devices like keyboards, mice, and Joysticks, it is most useful when used with custom (Vendor-Defined) HID devices.

%prep
%autosetup -p1 -n %{name}-%{name}-%{version}

%build
./bootstrap
%configure --disable-static --docdir=%{_defaultdocdir}/%{name}
%make_build

%install
make install DESTDIR=%{?buildroot}
find %{buildroot} -type f -name "*.la" -delete -print

%post -n libhidapi-libusb%{sover} -p /sbin/ldconfig
%post -n libhidapi-hidraw%{sover} -p /sbin/ldconfig
%postun -n libhidapi-libusb%{sover} -p /sbin/ldconfig
%postun -n libhidapi-hidraw%{sover} -p /sbin/ldconfig

%files -n libhidapi-devel
%doc README.md AUTHORS.txt HACKING.txt
%{_includedir}/hidapi
%{_libdir}/pkgconfig/*
%{_libdir}/libhidapi-*.so

%files -n libhidapi-hidraw%{sover}
%license LICENSE*
%{_libdir}/libhidapi-hidraw.so.%{sover}*

%files -n libhidapi-libusb%{sover}
%license LICENSE*
%{_libdir}/libhidapi-libusb.so.%{sover}*

%changelog
* Thu Jul 20 2023 Dirk Müller <dmueller@suse.com>
- update to 0.14.0:
  * general: add `hid_get_report_descriptor` API function (#451)
  * libusb: fix crash in hid_enumerate() caused by a stale device
    handle (#526)
  * fixes (mostly error handling) of issues found by
    Coverity Scan (#552/#554/#555/#559/#560/#561)
  * various fixes and improvements
* Sat Jan 21 2023 Dirk Müller <dmueller@suse.com>
- update to 0.13.1:
  * hidraw: fix invalid read past the UDEV buffer
* Sun Jan  8 2023 Dirk Müller <dmueller@suse.com>
- update to 0.13.0:
  * general: add hid_get_device_info (#432);
  * general: Meson build script (as a wrapper over CMake) (#410);
  * general: add HID Bus Type in hid_device_info (#308);
  * libusb: primary usage_page/usage is now available with hid_get_device_info
    regardless of the compilation flags;
  * hidraw: Open files with O_CLOEXEC to not leak fds to child processes (#446);
  * hidraw: add support for HID over SPI (#486);
  * cmake: libusb: Ensure Iconv is found when provided via CFLAGS/LDFLAGS (#430);
* Mon Jul 11 2022 Dirk Müller <dmueller@suse.com>
- update to 0.12.0:
  * libusb: improved CMake dependency on Iconv (#405) - as a result, better support for NetBSD;
  * general: documentation improvements;
  * general: small code cleanups/improvements;
  * many windows specific fixes
- spec-cleaner cleanups
* Sun Dec  5 2021 Dirk Müller <dmueller@suse.com>
- update to 0.11.0:
  * hidraw: (explicit) workaround to allow build with kernels older than 2.6.39
  * libusb: stabilize device path (uses same semantic as Linux kernel)
  * libusb: add platform-specific hid_libusb_wrap_sys_device
  * general: lots of documentation improvements
  * general: (Windows) DDK build files are obsolete
  * general: add CMake build system
  * general: deprecated Autotools build scripts
  * lots of other small fixes and improvements
- remove 0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch (obsolete)
* Wed Jun  9 2021 Matwey Kornilov <matwey.kornilov@gmail.com>
- Add 0001-configure.ac-remove-duplicate-AC_CONFIG_MACRO_DIR-22.patch:
  fix boo#1187056
* Mon Jan 11 2021 Wang Jun <jgwang@suse.com>
- Update to version 0.10.1
  * Add FreeBSD/macOS/MinGW/Alpine/Arch Linux/Windows CI
  * Add hid_version/hid_version_str API (#192)
  * Add podspec to support releases via cocoapods
  * Add support for HID over I2C and uhid devices (#166)
  * Fix small casting issue
  * Fix race condition on device close (#189)
  * Fix API prototype for gcc flag -Wstrict-prototypes (#207)
  * Fix strict typecast (#206)
  * Fix -Wall -Wextra -pedantic -Werror compilation (#214) …
  * Drop workaround for kernel < 2.6.34
  * Use pkg-config to find libusb on *freebsd
  * Reattach kernel driver in hidapi-libusb
  * Move local variable declaration to the beginning of the function
* Mon Feb  3 2020 Dominique Leuenberger <dimstar@opensuse.org>
- BuildRequire pkgconfig(libudev) instead of libudev-devel: allow
  OBS to shortcut through the -mini flavors.
* Mon Jul 22 2019 Matwey Kornilov <matwey.kornilov@gmail.com>
- Use disabled services to follow Factory guidelines.
* Mon Jul 22 2019 luca@z3ntu.xyz
- Update to 0.9.0
- Switch upstream to libusb/hidapi because the original maintainer is not active anymore
* Mon Mar 24 2014 matwey.kornilov@gmail.com
- Supply LICENSE files with libraries
* Fri Mar 14 2014 matwey.kornilov@gmail.com
- Add do_not_install_docs.patch: don't let make install docs
* Mon Jan 27 2014 matwey.kornilov@gmail.com
- Initial version
openSUSE Build Service is sponsored by