From 2a739ff4909c085fc635c4bcaec13e71ae3167eb Mon Sep 17 00:00:00 2001 From: amak Date: Wed, 28 Oct 2020 00:50:20 +1100 Subject: [PATCH] New package: gimx-8.0 --- common/shlibs | 18 +++++++++ srcpkgs/gimx-cli | 1 + srcpkgs/gimx-firmware | 1 + srcpkgs/gimx/patches/musl.patch | 70 +++++++++++++++++++++++++++++++++ srcpkgs/gimx/template | 61 ++++++++++++++++++++++++++++ 5 files changed, 151 insertions(+) create mode 120000 srcpkgs/gimx-cli create mode 120000 srcpkgs/gimx-firmware create mode 100644 srcpkgs/gimx/patches/musl.patch create mode 100644 srcpkgs/gimx/template diff --git a/common/shlibs b/common/shlibs index cba355c3bfa..2439d4a17ab 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3993,3 +3993,21 @@ libSeExpr2Editor.so.3 seexpr-krita-3.4.4.0_1 libSeExpr2.so.3 seexpr-krita-3.4.4.0_1 liburing.so.1 liburing-0.7_1 libbson-1.0.so.0 libbson-1.17.0_1 +libgimxconfigeditor.so gimx-cli-8.0_1 +libgimxconfigupdater.so gimx-cli-8.0_1 +libgimxcontroller.so gimx-cli-8.0_1 +libgimxdownloader.so gimx-cli-8.0_1 +libgimxfile.so gimx-cli-8.0_1 +libgimxgpp.so gimx-cli-8.0_1 +libgimxhid.so gimx-cli-8.0_1 +libgimxinput.so gimx-cli-8.0_1 +libgimxlog.so gimx-cli-8.0_1 +libgimxpoll.so gimx-cli-8.0_1 +libgimxprio.so gimx-cli-8.0_1 +libgimxserial.so gimx-cli-8.0_1 +libgimxtimer.so gimx-cli-8.0_1 +libgimxtime.so gimx-cli-8.0_1 +libgimxudp.so gimx-cli-8.0_1 +libgimxuhid.so gimx-cli-8.0_1 +libgimxupdater.so gimx-cli-8.0_1 +libgimxusb.so gimx-cli-8.0_1 diff --git a/srcpkgs/gimx-cli b/srcpkgs/gimx-cli new file mode 120000 index 00000000000..31428075254 --- /dev/null +++ b/srcpkgs/gimx-cli @@ -0,0 +1 @@ +gimx \ No newline at end of file diff --git a/srcpkgs/gimx-firmware b/srcpkgs/gimx-firmware new file mode 120000 index 00000000000..31428075254 --- /dev/null +++ b/srcpkgs/gimx-firmware @@ -0,0 +1 @@ +gimx \ No newline at end of file diff --git a/srcpkgs/gimx/patches/musl.patch b/srcpkgs/gimx/patches/musl.patch new file mode 100644 index 00000000000..3f8ff7551c9 --- /dev/null +++ b/srcpkgs/gimx/patches/musl.patch @@ -0,0 +1,70 @@ +Upstream: Sent but no response received + +diff -urpN gimx-8.0-a/core/connectors/bluetooth/btstack/btstack_common.c gimx-8.0-b/core/connectors/bluetooth/btstack/btstack_common.c +--- gimx-8.0-a/core/connectors/bluetooth/btstack/btstack_common.c 2020-05-05 22:00:15.000000000 +1000 ++++ gimx-8.0-b/core/connectors/bluetooth/btstack/btstack_common.c 2020-10-30 17:11:20.954389849 +1100 +@@ -6,6 +6,7 @@ + #include "btstack_common.h" + #include + #include ++#include + + #define BTSTACK_TIMEOUT 1 // 1 second + +diff -urpN gimx-8.0-a/shared/gimxcommon/src/posix/async.c gimx-8.0-b/shared/gimxcommon/src/posix/async.c +--- gimx-8.0-a/shared/gimxcommon/src/posix/async.c 2020-05-05 22:00:15.000000000 +1000 ++++ gimx-8.0-b/shared/gimxcommon/src/posix/async.c 2020-10-30 16:45:49.074739922 +1100 +@@ -120,7 +120,7 @@ int async_read_timeout(struct async_devi + fd_set readfds; + + time_t sec = timeout / 1000; +- __suseconds_t usec = (timeout - sec * 1000) * 1000; ++ suseconds_t usec = (timeout - sec * 1000) * 1000; + struct timeval tv = {.tv_sec = sec, .tv_usec = usec}; + + while(bread != count) +@@ -164,7 +164,7 @@ int async_write_timeout(struct async_dev + fd_set writefds; + + time_t sec = timeout / 1000; +- __suseconds_t usec = (timeout - sec * 1000) * 1000; ++ suseconds_t usec = (timeout - sec * 1000) * 1000; + struct timeval tv = {.tv_sec = sec, .tv_usec = usec}; + + while(bwritten != count) +diff -urpN gimx-8.0-a/shared/gimxfile/src/gfile.cpp gimx-8.0-b/shared/gimxfile/src/gfile.cpp +--- gimx-8.0-a/shared/gimxfile/src/gfile.cpp 2020-05-05 22:00:15.000000000 +1000 ++++ gimx-8.0-b/shared/gimxfile/src/gfile.cpp 2020-10-30 16:34:01.398217034 +1100 +@@ -7,6 +7,7 @@ + #include + #include + #include ++#include + + #ifndef WIN32 + #include //to get the homedir + uid and gid +diff -urpN gimx-8.0-a/shared/gimxtimer/src/linux/gtimer.c gimx-8.0-b/shared/gimxtimer/src/linux/gtimer.c +--- gimx-8.0-a/shared/gimxtimer/src/linux/gtimer.c 2020-05-05 22:00:15.000000000 +1000 ++++ gimx-8.0-b/shared/gimxtimer/src/linux/gtimer.c 2020-10-30 16:51:05.894944798 +1100 +@@ -73,8 +73,8 @@ static int read_callback(void * user) { + + struct gtimer * gtimer_start(void * user, unsigned int usec, const GTIMER_CALLBACKS * callbacks) { + +- __time_t sec = usec / 1000000; +- __time_t nsec = (usec - sec * 1000000) * 1000; ++ time_t sec = usec / 1000000; ++ time_t nsec = (usec - sec * 1000000) * 1000; + struct timespec period = { .tv_sec = sec, .tv_nsec = nsec }; + struct itimerspec new_value = { .it_interval = period, .it_value = period, }; + +diff -urpN gimx-8.0-a/shared/gimxudp/src/posix/gudp.c gimx-8.0-b/shared/gimxudp/src/posix/gudp.c +--- gimx-8.0-a/shared/gimxudp/src/posix/gudp.c 2020-05-05 22:00:15.000000000 +1000 ++++ gimx-8.0-b/shared/gimxudp/src/posix/gudp.c 2020-10-30 16:57:00.111701709 +1100 +@@ -14,6 +14,7 @@ + #include + #include + #include ++#include + #include + #include + diff --git a/srcpkgs/gimx/template b/srcpkgs/gimx/template new file mode 100644 index 00000000000..6edcfb1478e --- /dev/null +++ b/srcpkgs/gimx/template @@ -0,0 +1,61 @@ +# Template file for 'gimx' +pkgname=gimx +version=8.0 +revision=1 +build_style=gnu-makefile +make_use_env=yes +hostmakedepends="gettext pkg-config" +makedepends="libbluetooth-devel libcurl-devel libusb-devel libX11-devel libXi-devel + libxml2-devel mhash-devel ncurses-devel wxWidgets-gtk3-devel" +depends="gimx-cli-${version}_${revision} gimx-firmware-${version}_${revision} + avrdude xdg-utils xterm" +short_desc="Use a game console with a mouse and keyboard by emulating a controller" +maintainer="amak " +license="GPL-3.0-only" +homepage="https://blog.gimx.fr/" +distfiles="https://github.com/matlo/GIMX/releases/download/v${version}/gimx_${version}-1.tar.gz" +checksum=783673435bd424ba49e6ad5911559a517f746e50dad0f10689f0dc53336a8e1e +patch_args="-Np1" + +# silence unused function errors in loader/gimx-loader.cpp +# that are triggered by archs not defined in info.h +CXXFLAGS=" -Wno-unused-function" + +if [ "$CROSS_BUILD" ]; then + hostmakedepends+=" ncurses-devel" +fi + +post_extract() { + # fix build with ncurses 6 + vsed -i -e "s:ncursesw5-config:ncursesw6-config:" core/Makefile + + # fix ncursesw/ncurses.h include + vsed -i -e "s:::" core/display.c + + # fix build with wxWidgets-gtk3 + find . -iname Makefile -exec sed -i -e "s:wx-config:&-gtk3:" "{}" \; +} + +post_install() { + vdoc README.md +} + +gimx-cli_package() { + short_desc+=" - cli tools" + + pkg_install() { + for bin in bdaddr ds4tool gimx hcirevision sixaddr ; do + vmove "usr/bin/${bin}" + done + vmove "usr/lib/*.so" + vmove usr/share/locale + } +} + +gimx-firmware_package() { + short_desc+=" - firmware files" + + pkg_install() { + vmove usr/share/gimx/firmware + } +}