From 4f0834d018b0eb4c2cbe352324b851dfffe3c485 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 22 Oct 2026 10:55:02 +0000 Subject: automatic import of ros-humble-cwiid-devel --- .gitignore | 1 + 0001-fix-cflags-override.patch | 10 +++++ 0002-fix-wmdemo-dso-link.patch | 13 +++++++ 0003-fix-format-security.patch | 13 +++++++ ros-humble-cwiid-devel.spec | 88 ++++++++++++++++++++++++++++++++++++++++++ sources | 1 + 6 files changed, 126 insertions(+) create mode 100644 0001-fix-cflags-override.patch create mode 100644 0002-fix-wmdemo-dso-link.patch create mode 100644 0003-fix-format-security.patch create mode 100644 ros-humble-cwiid-devel.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore index e69de29..8bddfb5 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/ros-humble-cwiid-devel-0.6.00.tar.gz diff --git a/0001-fix-cflags-override.patch b/0001-fix-cflags-override.patch new file mode 100644 index 0000000..2a3ee4a --- /dev/null +++ b/0001-fix-cflags-override.patch @@ -0,0 +1,10 @@ +diff --git a/defs.mak.in b/defs.mak.in +index fb2ff7c..27c361f 100644 +--- a/defs.mak.in ++++ b/defs.mak.in +@@ -33,4 +33,4 @@ CWIID_PLUGINS_DIR = $(ROOTDIR)@CWIID_PLUGINS_DIR@ + + DEBUGFLAGS = -g + WARNFLAGS = -Wall -W +-CFLAGS = $(DEBUGFLAGS) $(WARNFLAGS) @DEFS@ -I$(COMMON)/include ++CFLAGS = @CFLAGS@ $(DEBUGFLAGS) $(WARNFLAGS) @DEFS@ -I$(COMMON)/include diff --git a/0002-fix-wmdemo-dso-link.patch b/0002-fix-wmdemo-dso-link.patch new file mode 100644 index 0000000..be6cd03 --- /dev/null +++ b/0002-fix-wmdemo-dso-link.patch @@ -0,0 +1,13 @@ +diff --git a/wmdemo/Makefile.in b/wmdemo/Makefile.in +index 56aed58..1eccc02 100644 +--- a/wmdemo/Makefile.in ++++ b/wmdemo/Makefile.in +@@ -8,7 +8,7 @@ SOURCES = wmdemo.c + + CFLAGS += -I@top_builddir@/libcwiid + LDFLAGS += -L@top_builddir@/libcwiid +-LDLIBS += -lcwiid ++LDLIBS += -lcwiid -lbluetooth + INST_DIR = @bindir@ + + include $(COMMON)/include/app.mak diff --git a/0003-fix-format-security.patch b/0003-fix-format-security.patch new file mode 100644 index 0000000..6d9f708 --- /dev/null +++ b/0003-fix-format-security.patch @@ -0,0 +1,13 @@ +diff --git a/wmgui/main.c b/wmgui/main.c +index d989f72..555b041 100644 +--- a/wmgui/main.c ++++ b/wmgui/main.c +@@ -442,7 +442,7 @@ void message(GtkMessageType type, const gchar *message, GtkWindow *parent) + { + GtkWidget *dialog; + +- dialog = gtk_message_dialog_new(parent, 0, type, GTK_BUTTONS_OK, message); ++ dialog = gtk_message_dialog_new(parent, 0, type, GTK_BUTTONS_OK, "%s", message); + gtk_dialog_run(GTK_DIALOG(dialog)); + gtk_widget_destroy(dialog); + } diff --git a/ros-humble-cwiid-devel.spec b/ros-humble-cwiid-devel.spec new file mode 100644 index 0000000..b7f9c37 --- /dev/null +++ b/ros-humble-cwiid-devel.spec @@ -0,0 +1,88 @@ +# topdir: ros-humble-cwiid-devel-0.6.00 (由 --transform 统一命名) +# 构建系统: autoconf (无 configure 脚本,需 aclocal + autoconf 生成) +# 语言: C +# 上游: https://github.com/abstrakraft/cwiid +# 补丁说明: +# Patch0: 修复 defs.mak.in 硬编码 CFLAGS 覆盖 RPM optflags(含 -fPIE), +# 导致编译产物无 PIC 但按 PIE 链接,aarch64 报 relocation 错误 +# Patch1: 修复 wmdemo 仅链接 -lcwiid 但调用 libbluetooth 符号 (str2ba), +# openEuler -z,now 禁止传递性 DSO 解析,需显式 -lbluetooth +# Patch2: 修复 wmgui/main.c gtk_message_dialog_new 直接传变量作格式串, +# -Werror=format-security 将其视为硬错误 + +Name: ros-humble-cwiid-devel +Version: 0.6.00 +Release: 1%{?dist} +Summary: CWiid Wiimote Interface Library and Tools + +License: GPLv2+ +URL: https://github.com/abstrakraft/cwiid +Source0: https://github.com/abstrakraft/cwiid/archive/0.6.00.tar.gz#/%{name}-%{version}.tar.gz +Patch0: 0001-fix-cflags-override.patch +Patch1: 0002-fix-wmdemo-dso-link.patch +Patch2: 0003-fix-format-security.patch + +Group: Development/Libraries +Packager: openEuler Builder + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: gcc +BuildRequires: make +BuildRequires: flex +BuildRequires: bison +BuildRequires: pkgconfig +BuildRequires: bluez-libs-devel +BuildRequires: gtk2-devel +BuildRequires: glib2-devel + +%description +The CWiid package contains a library and tools for communicating with +Nintendo Wii Remote controllers. It includes: +- libcwiid: wiimote API library +- wmgui: GTK GUI for the wiimote +- wminput: event/joystick/mouse driver for the wiimote +- lswm: list wiimote devices + +%prep +%setup -n %{name}-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +# 源码来自 git clone,无 configure 脚本,需生成 +aclocal +autoconf +%configure --without-python +%make_build + +%install +# LDCONFIG=true 避免 make install 在 buildroot 中运行 ldconfig +make DESTDIR=%{buildroot} LDCONFIG=true install + +%files +%license COPYING +%doc README AUTHORS ChangeLog NEWS +%{_bindir}/wmgui +%{_bindir}/wminput +%{_bindir}/lswm +%{_libdir}/libcwiid.so.* +%{_libdir}/libcwiid.so +%{_libdir}/libcwiid.a +%{_libdir}/pkgconfig/cwiid.pc +%{_includedir}/cwiid.h +%{_libdir}/cwiid/ +%dir %{_sysconfdir}/cwiid +%dir %{_sysconfdir}/cwiid/wminput +%config(noreplace) %{_sysconfdir}/cwiid/wminput/* +%{_mandir}/man1/wmgui.1* +%{_mandir}/man1/wminput.1* +# AC_INIT(CWiid) → PACKAGE_TARNAME=cwiid,doc/Makefile.in 安装到 +# %%{_defaultdocdir}/cwiid/ 而非 %%{_defaultdocdir}/%%{name}/,需显式声明 +%{_defaultdocdir}/cwiid/ + +%changelog +* Thu Oct 22 2026 openEuler Builder - 0.6.00-1 +- Initial package diff --git a/sources b/sources new file mode 100644 index 0000000..3cb9667 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +90d6cc3718467c8d3b764f49a16ca7d9 ros-humble-cwiid-devel-0.6.00.tar.gz -- cgit v1.2.3