#
# spec file for package libgudev
#
# 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/
#


Name:           libgudev
Version:        238
Release:        1.6
Summary:        Library that provides GObject bindings for libudev
License:        LGPL-2.1-or-later
Group:          Development/Libraries/GNOME
URL:            https://wiki.gnome.org/Projects/libgudev
Source0:        https://download.gnome.org/sources/libgudev/%{version}/%{name}-%{version}.tar.xz
Source99:       baselibs.conf

# For testsuite, uses fr_FR.UTF-8
BuildRequires:  glibc-locale
BuildRequires:  meson
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(gio-2.0)
BuildRequires:  pkgconfig(glib-2.0) >= 2.38.0
BuildRequires:  pkgconfig(gobject-2.0)
BuildRequires:  pkgconfig(gobject-introspection-1.0)
BuildRequires:  pkgconfig(gtk-doc) >= 1.18
BuildRequires:  pkgconfig(libudev) >= 199
BuildRequires:  pkgconfig(umockdev-1.0)

%description
Library provides GObject bindings for libudev. It used to be part
of udev, then merged into systemd. It's now a project on its own.

%package -n libgudev-1_0-0
Summary:        GObject library, to access udev device information
Group:          System/Libraries

%description -n libgudev-1_0-0
This package contains the GObject library libgudev, which provides
access to udev device information.

%package -n typelib-1_0-GUdev-1_0
Summary:        GObject library, to access udev device information -- Introspection bindings
Group:          System/Libraries

%description -n typelib-1_0-GUdev-1_0
This package provides the GObject Introspection bindings for libgudev, which
provides access to udev device information.

%package -n libgudev-1_0-devel
Summary:        Devel package for libgudev
Group:          Development/Libraries/C and C++
Requires:       libgudev-1_0-0 = %{version}
Requires:       typelib-1_0-GUdev-1_0 = %{version}

%description -n libgudev-1_0-devel
This is the devel package for the GObject library libgudev, which
provides GObject access to udev device information.

%prep
%autosetup -p1

%build
%meson \
	-Dvapi=disabled \
	-Dgtk_doc=true \
	%{nil}
%meson_build

%install
%meson_install

%check
%meson_test

%ldconfig_scriptlets -n libgudev-1_0-0

%files -n libgudev-1_0-0
%license COPYING
%{_libdir}/libgudev-1.0.so.*

%files -n typelib-1_0-GUdev-1_0
%{_libdir}/girepository-1.0/GUdev-1.0.typelib

%files -n libgudev-1_0-devel
%{_includedir}/gudev-1.0/
%{_libdir}/libgudev-1.0.so
%{_libdir}/pkgconfig/gudev-1.0.pc
%dir %{_datadir}/gtk-doc
%dir %{_datadir}/gtk-doc/html
%{_datadir}/gtk-doc/html/gudev/
%{_datadir}/gir-1.0/GUdev-1.0.gir

%changelog
* Thu Jul  6 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 238:
  * Fix newline stripping
  * Add g_udev_device_get_current_tags()
  * Add a number of tests, and devel docs
  * Fix devhelp not being able to find the docs
  * Skip locale test with locale isn't available
- Drop patches fixed upstream:
  * 71b2fda04dd71c637361e8ead103980ad6f27ed5.patch
  * 4216ecd4513bd4c8af73543817a51d6f72f166cc.patch
* Thu Apr 20 2023 Bjørn Lie <bjorn.lie@gmail.com>
- Add 2 upstream bug fix patches:
  * 71b2fda04dd71c637361e8ead103980ad6f27ed5.patch: gudev: Fix
    newline stripping by always reading using udev.
  * 4216ecd4513bd4c8af73543817a51d6f72f166cc.patch: build: let
    meson handle gir, vala, gtk-doc dependencies
- Use ldconfig_scriptlets macro.
* Fri Jan 28 2022 Dirk Müller <dmueller@suse.com>
- add explicit glibc-locale buildrequires for passing the testsuite (bsc#1195390)
* Sun Aug 15 2021 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 237:
  + Fix reading double precision floats from sysfs attributes in
    locales that use comma as a separator
  + Fix compilation warning
  + Fix headers to help with build reproducibility
  + Clarify licensing information
- Changes from version 236:
  + Fix meson project name to match autotools.
- Changes from version 235:
  + Port build system to meson and remove autotools
  + Fix conversion of sysfs attributes to boolean.
- Add meson BuildRequires and macros following upstreams port.
- Enable pkgconfig(umockdev-1.0) BuildRequires and test macro.
- Update Licence tag to LGPL-2.1-or-later.
* Sun Jan 24 2021 Dirk Müller <dmueller@suse.com>
- update to 234:
  * Clarify that _get_sysfs_attr() functions are cached
  * Add functions to get uncached sysfs attributes
* Sat Aug  3 2019 Bjørn Lie <bjorn.lie@gmail.com>
- Update to version 233:
  + Require glib 2.38.
  + Small documentation updates.
  + Remove gnome-common build dependency.
- Use modern macros.
* Wed Feb 28 2018 dimstar@opensuse.org
- Modernize spec-file by calling spec-cleaner
* Fri Sep  1 2017 zaitor@opensuse.org
- Update to version 232:
  + Fix crash on plenty of architectures in the test suite.
  + Add g_autoptr automatic clean up for libgudev objects.
- Tweak package description a bit.
* Mon Feb 13 2017 zaitor@opensuse.org
- Update to version 231:
  + Fix a bug in the enumerator to ensure that client subsystems
    are implicitly matched.
  + Require a newer GLib to simplify some code.
- Add disabled pkgconfig(umockdev-1.0) BuildRequires, new
  optional dependency, that is enabled by default upstream, but
  unfortunatly not yet available in openSUSE.
- Following the above: pass --disable-umockdev to configure.
* Tue Mar 22 2016 fbui@suse.com
- Import libgudev from Factory to SLE (fate#320658):
  new versions of systemd doesn't ship libgudev anymore and a
  dedicated package has been created and should be used instead.
* Fri Sep 25 2015 dimstar@suse.com
- Enable build (dummy change for repo_checker, as libgudev was
  wrongly already checked in to openSUSE:Factory, but has since
  been disabled). With this, we can activate the Staging properly.
* Fri Jun 19 2015 jengelh@inai.de
- Transplant baselibs.conf from systemd.spec. Update package
  metadata.
* Tue Jun  2 2015 zaitor@opensuse.org
- Update to version 230:
  + Bump version number so the package will supercede any gudev
    sub-packages provided via systemd. We intend to drop gudev from
    systemd-221, but lets be safe and just bump it to 230 now.
* Tue May 19 2015 crrodriguez@opensuse.org
- Split from systemd/udev.