summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-22 10:55:02 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-22 10:55:02 +0000
commit4f0834d018b0eb4c2cbe352324b851dfffe3c485 (patch)
treee7f7b3f7ef19e8862f8a612268c82a43d688fb18
parentb53c9ada679f3a03ecad6368ca387ed68f18627d (diff)
automatic import of ros-humble-cwiid-developeneuler24.03_LTS_SP3
-rw-r--r--.gitignore1
-rw-r--r--0001-fix-cflags-override.patch10
-rw-r--r--0002-fix-wmdemo-dso-link.patch13
-rw-r--r--0003-fix-format-security.patch13
-rw-r--r--ros-humble-cwiid-devel.spec88
-rw-r--r--sources1
6 files changed, 126 insertions, 0 deletions
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 <builder@openeuler.org>
+
+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 <builder@openeuler.org> - 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