From 158e0922a1b3ed350f6512f1aac33cd3890fbf27 Mon Sep 17 00:00:00 2001 From: Daniel Golle Date: Sun, 18 Jun 2017 23:07:03 +0200 Subject: [PATCH] libudev-fbsd: add package This package provides a small udev shim originally intended for FreeBSD/devd, but it works well for our non-systemd-environment as well. It has limited features, but it's enough to detect and enumerate input devices. Signed-off-by: Daniel Golle --- libs/libudev-fbsd/Makefile | 50 +++++++++++++++++++ .../libudev-fbsd/patches/001-fix-unused.patch | 42 ++++++++++++++++ .../patches/002-replace-nitems.patch | 11 ++++ .../003-add-pkg-config-description.patch | 20 ++++++++ 4 files changed, 123 insertions(+) create mode 100644 libs/libudev-fbsd/Makefile create mode 100644 libs/libudev-fbsd/patches/001-fix-unused.patch create mode 100644 libs/libudev-fbsd/patches/002-replace-nitems.patch create mode 100644 libs/libudev-fbsd/patches/003-add-pkg-config-description.patch diff --git a/libs/libudev-fbsd/Makefile b/libs/libudev-fbsd/Makefile new file mode 100644 index 000000000..8ef712025 --- /dev/null +++ b/libs/libudev-fbsd/Makefile @@ -0,0 +1,50 @@ +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libudev-fbsd + +PKG_RELEASE:=1 +PKG_VERSION:=20160820 +PKG_SOURCE_VERSION:=1f21323b817e70253d3c04bc8bedd61c477d0544 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz +PKG_SOURCE_PROTO:=git +PKG_SOURCE_URL:=https://github.com/jiixyj/libudev-fbsd.git + +PKG_LICENSE:=MIT +PKG_LICENSE_FILES:=COPYING +PKG_MAINTAINER:=Daniel Golle + +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk +include $(INCLUDE_DIR)/cmake.mk + +define Package/libudev-fbsd + SECTION:=libs + CATEGORY:=Libraries + TITLE:=small udev shim for FreeBSD/devd (and other non-systemd) + URL:=https://github.com/jiixyj/libudev-fbsd + DEPENDS:=libevdev + PROVIDES:=libudev + CONFLICTS:=libudev eudev udev +endef + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ + $(INSTALL_DIR) $(1)/usr/lib/pkgconfig + $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/* $(1)/usr/lib/pkgconfig/ +endef + +define Package/libudev-fbsd/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so* $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libudev-fbsd)) diff --git a/libs/libudev-fbsd/patches/001-fix-unused.patch b/libs/libudev-fbsd/patches/001-fix-unused.patch new file mode 100644 index 000000000..194943360 --- /dev/null +++ b/libs/libudev-fbsd/patches/001-fix-unused.patch @@ -0,0 +1,42 @@ +--- a/src/libudev.c ++++ b/src/libudev.c +@@ -354,7 +354,7 @@ udev_device_get_subsystem(struct udev_de + + const char * + udev_device_get_sysattr_value( +- struct udev_device *udev_device __unused, const char *sysattr) ++ __attribute__ ((unused))struct udev_device *udev_device, const char *sysattr) + { + (void)sysattr; + LOG("stub: udev_device_get_sysattr_value %s\n", sysattr); +@@ -469,7 +469,7 @@ udev_device_get_parent_with_subsystem_de + } + + struct udev_enumerate * +-udev_enumerate_new(struct udev *udev __unused) ++udev_enumerate_new( __attribute__ ((unused))struct udev *udev) + { + LOG("udev_enumerate_new\n"); + struct udev_enumerate *u = calloc(1, sizeof(struct udev_enumerate)); +@@ -538,7 +538,7 @@ udev_enumerate_get_list_entry(struct ude + + int + udev_enumerate_add_match_sysname( +- struct udev_enumerate *udev_enumerate __unused, const char *sysname) ++ __attribute__ ((unused))struct udev_enumerate *udev_enumerate, const char *sysname) + { + (void)sysname; + LOG("stub: udev_enumerate_add_match_sysname %s\n", sysname); +--- a/src/libudev.h ++++ b/src/libudev.h +@@ -24,8 +24,8 @@ void udev_unref(struct udev *udev); + char const *udev_device_get_devnode(struct udev_device *udev_device); + dev_t udev_device_get_devnum(struct udev_device *udev_device); + char const *udev_device_get_property_value( +- struct udev_device *dummy __unused, char const *property); +-struct udev *udev_device_get_udev(struct udev_device *dummy __unused); ++ __attribute__ ((unused))struct udev_device *dummy, char const *property); ++struct udev *udev_device_get_udev( __attribute__ ((unused))struct udev_device *dummy); + struct udev_device *udev_device_new_from_syspath( + struct udev *udev, char const *syspath); + struct udev_device *udev_device_new_from_devnum( diff --git a/libs/libudev-fbsd/patches/002-replace-nitems.patch b/libs/libudev-fbsd/patches/002-replace-nitems.patch new file mode 100644 index 000000000..7f4d0de82 --- /dev/null +++ b/libs/libudev-fbsd/patches/002-replace-nitems.patch @@ -0,0 +1,11 @@ +--- a/src/libudev.c ++++ b/src/libudev.c +@@ -175,7 +175,7 @@ populate_properties_list(struct udev_dev + + struct udev_list_entry **list_end = &udev_device->properties_list; + +- for (unsigned i = 0; i < nitems(ids); ++i) { ++ for (unsigned i = 0; i < (sizeof(ids) / sizeof(ids[0])); ++i) { + char const *id = ids[i]; + struct udev_list_entry *le; + diff --git a/libs/libudev-fbsd/patches/003-add-pkg-config-description.patch b/libs/libudev-fbsd/patches/003-add-pkg-config-description.patch new file mode 100644 index 000000000..9aec7b9b3 --- /dev/null +++ b/libs/libudev-fbsd/patches/003-add-pkg-config-description.patch @@ -0,0 +1,20 @@ +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -11,6 +11,7 @@ install(TARGETS udev LIBRARY DESTINATION + install(FILES libudev.h DESTINATION include) + + set(PKG_CONFIG_NAME libudev) ++set(PKG_CONFIG_DESCRIPTION small udev shim for FreeBSD/devd) + set(PKG_CONFIG_REQUIRES libevdev) + set(PKG_CONFIG_LIBDIR "\${prefix}/lib") + set(PKG_CONFIG_INCLUDEDIR "\${prefix}/include") +--- a/src/pkg-config.pc.cmake ++++ b/src/pkg-config.pc.cmake +@@ -3,6 +3,7 @@ libdir=${PKG_CONFIG_LIBDIR} + includedir=${PKG_CONFIG_INCLUDEDIR} + + Name: ${PKG_CONFIG_NAME} ++Description: ${PKG_CONFIG_DESCRIPTION} + Version: 143 + Requires: ${PKG_CONFIG_REQUIRES} + Libs: ${PKG_CONFIG_LIBS}