[packages/libgpiod] - added glib and dbus packages

qboosh qboosh at pld-linux.org
Fri Oct 25 17:03:47 CEST 2024


commit 82842d19a72bfb6aefea0215cf9a628a4ab644d4
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Fri Oct 25 16:33:55 2024 +0200

    - added glib and dbus packages

 libgpiod-link.patch |  10 ++++
 libgpiod.spec       | 140 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 147 insertions(+), 3 deletions(-)
---
diff --git a/libgpiod.spec b/libgpiod.spec
index 1facc15..13bd0fe 100644
--- a/libgpiod.spec
+++ b/libgpiod.spec
@@ -1,5 +1,4 @@
 # TODO:
-# - glib, dbus, systemd
 # - rust bindings (--enable-bindings-rust, needs vendoring; BR: cargo, rust)
 # - tests (BR: kmod-devel >= 18, libmount-devel >= 2.33.1, glib2-devel >= 1:2.50 for library; bats for tools; catch2 for C++)
 #
@@ -18,17 +17,23 @@ Group:		Libraries
 Source0:	https://www.kernel.org/pub/software/libs/libgpiod/%{name}-%{version}.tar.xz
 # Source0-md5:	1d3a1d1cd81908564579e1aaba9aea52
 Patch0:		%{name}-python.patch
+Patch1:		%{name}-link.patch
 URL:		https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/
 BuildRequires:	autoconf >= 2.71
 BuildRequires:	autoconf-archive
 BuildRequires:	automake
 %{?with_apidocs:BuildRequires:	doxygen}
+# docs not installed as of 2.2
+#BuildRequires:	gi-docgen
+BuildRequires:	glib2-devel >= 1:2.80
+BuildRequires:	gobject-introspection-devel >= 0.6.2
 BuildRequires:	help2man
 BuildRequires:	libedit-devel >= 3.1
+BuildRequires:	libgudev-devel >= 230
 BuildRequires:	libstdc++-devel >= 6:7
 BuildRequires:	libtool >= 2:2
 BuildRequires:	linux-libc-headers >= 7:5.5
-BuildRequires:	pkgconfig
+BuildRequires:	pkgconfig >= 1:0.28
 %if %{with python}
 BuildRequires:	python3 >= 1:3.9
 BuildRequires:	python3-devel >= 1:3.9
@@ -36,6 +41,7 @@ BuildRequires:	python3-modules >= 1:3.9
 BuildRequires:	python3-setuptools
 %endif
 BuildRequires:	rpm-build >= 4.6
+BuildRequires:	systemd-devel
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	xz
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -114,6 +120,83 @@ Static libgpiodcxx library.
 %description cxx-static -l pl.UTF-8
 Statyczna biblioteka libgpiodcxx.
 
+%package glib
+Summary:	GObject bindings for libgpiod library
+Summary(pl.UTF-8):	Interfejs GObject do biblioteki libgpiod
+Group:		Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	glib2 >= 1:2.80
+
+%description glib
+GObject bindings for libgpiod library.
+
+%description glib -l pl.UTF-8
+Interfejs GObject do biblioteki libgpiod.
+
+%package glib-devel
+Summary:	Header files for libgpiod-glib library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki libgpiod-glib
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+Requires:	%{name}-glib = %{version}-%{release}
+Requires:	glib2-devel >= 1:2.80
+
+%description glib-devel
+Header files for libgpiod-glib library.
+
+%description glib-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki libgpiod-glib.
+
+%package glib-static
+Summary:	Static libgpiod-glib library
+Summary(pl.UTF-8):	Statyczna biblioteka libgpiod-glib
+Group:		Development/Libraries
+Requires:	%{name}-glib-devel = %{version}-%{release}
+
+%description glib-static
+Static libgpiod-glib library.
+
+%description glib-static -l pl.UTF-8
+Statyczna biblioteka libgpiod-glib.
+
+%package dbus
+Summary:	DBus library and daemon
+Summary(pl.UTF-8):	Biblioteka i demon DBus
+Group:		Libraries
+Requires:	glib2 >= 1:2.80
+Requires:	libgudev >= 230
+
+%description dbus
+DBus library and daemon.
+
+%description dbus -l pl.UTF-8
+Biblioteka i demon DBus.
+
+%package dbus-devel
+Summary:	Header files for gpiodbus library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki gpiodbus
+Group:		Development/Libraries
+Requires:	%{name}-dbus = %{version}-%{release}
+Requires:	glib2-devel >= 1:2.80
+
+%description dbus-devel
+Header files for gpiodbus library.
+
+%description dbus-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki gpiodbus.
+
+%package dbus-static
+Summary:	Static gpiodbus library
+Summary(pl.UTF-8):	Statyczna biblioteka gpiodbus
+Group:		Development/Libraries
+Requires:	%{name}-dbus-devel = %{version}-%{release}
+
+%description dbus-static
+Static gpiodbus library.
+
+%description dbus-static -l pl.UTF-8
+Statyczna biblioteka gpiodbus.
+
 %package tools
 Summary:	Tools for interacting with the Linux GPIO character device
 Summary(pl.UTF-8):	Narzędzia do obsługi linuksowych urządzeń znakowych GPIO
@@ -154,6 +237,7 @@ Dokumentacja API biblioteki libgpiod.
 %prep
 %setup -q
 %patch0 -p1
+%patch1 -p1
 
 %build
 %{__libtoolize}
@@ -164,9 +248,12 @@ Dokumentacja API biblioteki libgpiod.
 %configure \
 	%{!?with_static_libs:--disable-static} \
 	--enable-bindings-cxx \
+	--enable-bindings-glib \
 	%{?with_python:--enable-bindings-python} \
+	--enable-dbus \
 	--enable-gpioset-interactive \
 	--disable-silent-rules \
+	--enable-systemd \
 	--enable-tools
 %{__make}
 
@@ -178,7 +265,8 @@ Dokumentacja API biblioteki libgpiod.
 rm -rf $RPM_BUILD_ROOT
 
 %{__make} install \
-	DESTDIR=$RPM_BUILD_ROOT
+	DESTDIR=$RPM_BUILD_ROOT \
+	udevdir=/lib/udev/rules.d
 
 # obsoleted by pkg-config
 %{__rm} $RPM_BUILD_ROOT%{_libdir}/libgpiod*.la
@@ -192,6 +280,9 @@ rm -rf $RPM_BUILD_ROOT
 %post	cxx -p /sbin/ldconfig
 %postun	cxx -p /sbin/ldconfig
 
+%post	glib -p /sbin/ldconfig
+%postun	glib -p /sbin/ldconfig
+
 %files
 %defattr(644,root,root,755)
 %doc NEWS README
@@ -258,3 +349,46 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc doc/html/*
 %endif
+
+%files glib
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgpiod-glib.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgpiod-glib.so.1
+%{_libdir}/girepository-1.0/Gpiodglib-1.0.typelib
+
+%files glib-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgpiod-glib.so
+%{_includedir}/gpiod-glib
+%{_includedir}/gpiod-glib.h
+%{_datadir}/gir-1.0/Gpiodglib-1.0.gir
+%{_pkgconfigdir}/gpiod-glib.pc
+
+%if %{with static_libs}
+%files glib-static
+%defattr(644,root,root,755)
+%{_libdir}/libgpiod-glib.a
+%endif
+
+%files dbus
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gpio-manager
+%attr(755,root,root) %{_bindir}/gpiocli
+%attr(755,root,root) %{_libdir}/libgpiodbus.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libgpiodbus.so.1
+/etc/dbus-1/system.d/io.gpiod1.conf
+/lib/udev/rules.d/90-gpio.rules
+%{_datadir}/dbus-1/interfaces/io.gpiod1.xml
+%{systemdunitdir}/gpio-manager.service
+
+%files dbus-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgpiodbus.so
+%{_includedir}/generated-gpiodbus.h
+%{_includedir}/gpiodbus.h
+
+%if %{with static_libs}
+%files dbus-static
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libgpiodbus.a
+%endif
diff --git a/libgpiod-link.patch b/libgpiod-link.patch
new file mode 100644
index 0000000..58f8e96
--- /dev/null
+++ b/libgpiod-link.patch
@@ -0,0 +1,10 @@
+--- libgpiod-2.2/dbus/lib/Makefile.am.orig	2024-10-14 16:45:16.000000000 +0200
++++ libgpiod-2.2/dbus/lib/Makefile.am	2024-10-25 06:20:57.872575165 +0200
+@@ -5,6 +5,7 @@ libgpiodbus_la_CFLAGS = -include $(top_b
+ libgpiodbus_la_CFLAGS += $(GLIB_CFLAGS) $(GIO_CFLAGS)
+ libgpiodbus_la_CFLAGS += -DG_LOG_DOMAIN=\"gpiodbus\"
+ libgpiodbus_la_LDFLAGS = -version-info 1
++libgpiodbus_la_LIBADD = $(GLIB_LIBS) $(GIO_LIBS)
+ 
+ generated-gpiodbus.h generated-gpiodbus.c: io.gpiod1.xml
+ 	$(AM_V_GEN)gdbus-codegen \
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/libgpiod.git/commitdiff/82842d19a72bfb6aefea0215cf9a628a4ab644d4



More information about the pld-cvs-commit mailing list