summaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/bee-host/README10
-rw-r--r--misc/bee-host/bee-host.SlackBuild114
-rw-r--r--misc/bee-host/bee-host.info10
-rw-r--r--misc/bee-host/slack-desc19
-rw-r--r--misc/bitwarden-desktop/bitwarden-desktop.SlackBuild2
-rw-r--r--misc/bitwarden-desktop/bitwarden-desktop.info6
-rw-r--r--misc/boxes/boxes.info2
-rw-r--r--misc/dtmflib/README4
-rw-r--r--misc/dtmflib/dtmflib.SlackBuild99
-rw-r--r--misc/dtmflib/dtmflib.info10
-rw-r--r--misc/dtmflib/manpage.diff75
-rw-r--r--misc/dtmflib/slack-desc19
-rw-r--r--misc/fcitx5-chinese-addons/fcitx5-chinese-addons.SlackBuild2
-rw-r--r--misc/fcitx5-chinese-addons/fcitx5-chinese-addons.info6
-rw-r--r--misc/fcitx5-configtool/fcitx5-configtool.SlackBuild2
-rw-r--r--misc/fcitx5-configtool/fcitx5-configtool.info6
-rw-r--r--misc/fcitx5-gtk/fcitx5-gtk.SlackBuild2
-rw-r--r--misc/fcitx5-gtk/fcitx5-gtk.info6
-rw-r--r--misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.SlackBuild2
-rw-r--r--misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.info8
-rw-r--r--misc/fcitx5-qt/README23
-rw-r--r--misc/fcitx5-qt/fcitx5-qt.SlackBuild8
-rw-r--r--misc/fcitx5-qt/fcitx5-qt.info6
-rw-r--r--misc/fcitx5-table-extra/fcitx5-table-extra.SlackBuild2
-rw-r--r--misc/fcitx5-table-extra/fcitx5-table-extra.info6
-rw-r--r--misc/fcitx5-table-other/fcitx5-table-other.SlackBuild2
-rw-r--r--misc/fcitx5-table-other/fcitx5-table-other.info10
-rw-r--r--misc/fcitx5/fcitx5.SlackBuild2
-rw-r--r--misc/fcitx5/fcitx5.info6
-rw-r--r--misc/flips/flips.SlackBuild4
-rw-r--r--misc/flips/flips.info6
-rw-r--r--misc/gourmet/gourmet.info2
-rw-r--r--misc/ibus-skk/ibus-skk.info2
-rw-r--r--misc/libime/libime.SlackBuild2
-rw-r--r--misc/libime/libime.info6
-rw-r--r--misc/sigrok-firmware-fx2lafw/patches/00-fx2lafw__silence_integer_overflow_compile_warnings.patch26
-rw-r--r--misc/sigrok-firmware-fx2lafw/patches/01-fx2lib__Update___interrupt_syntax_for_sdcc_4.2.3.patch575
-rw-r--r--misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch108
-rw-r--r--misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch300
-rw-r--r--misc/sigrok-firmware-fx2lafw/patches/04-fx2lib_fix_SDCC_warning_283.patch686
-rw-r--r--misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.SlackBuild23
-rw-r--r--misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.info2
-rw-r--r--misc/torrentinfo/torrentinfo.info2
-rw-r--r--misc/wl-clipboard/wl-clipboard.info2
-rw-r--r--misc/xcb-imdkit/xcb-imdkit.SlackBuild2
-rw-r--r--misc/xcb-imdkit/xcb-imdkit.info8
46 files changed, 2147 insertions, 78 deletions
diff --git a/misc/bee-host/README b/misc/bee-host/README
new file mode 100644
index 0000000000..ba0fb101cd
--- /dev/null
+++ b/misc/bee-host/README
@@ -0,0 +1,10 @@
+Bee-host is a native messaging host application for Browser's External
+Editor extension, which allows to edit text fields with an external
+editor.
+
+Bee-host is required for the extension to work. The extension supports
+Mozilla Firefox, Google Chrome, and Chromium based browsers (Vivaldi,
+Brave, Mircosoft Edge, etc.). It can be installed from the Firefox and
+Chrome web stores:
+https://addons.mozilla.org/en-US/firefox/addon/external-editor/
+https://chromewebstore.google.com/detail/browsers-external-editor/moakhilhbeednkjahjmomncgigcoemoi
diff --git a/misc/bee-host/bee-host.SlackBuild b/misc/bee-host/bee-host.SlackBuild
new file mode 100644
index 0000000000..6273c371cf
--- /dev/null
+++ b/misc/bee-host/bee-host.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/bash
+
+# Slackware build script for bee-host
+
+# Copyright 2024, Alexander Verbovetsky, Moscow, Russia
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=bee-host
+VERSION=${VERSION:-1.3.7.2}
+SVERSION="1.3.7-2"
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "aarch64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$SVERSION
+tar xvf $CWD/$PRGNAM-$SVERSION.tar.gz
+cd $PRGNAM-$SVERSION
+chown -R root:root .
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+sed -i -e 's|@BEECTL_MANIFEST_TARGET_PATH@|/usr/libexec/beectl|' \
+ *bee.json*
+install -Dm644 firefox*bee.json* \
+$PKG/usr/lib${LIBDIRSUFFIX}/mozilla/native-messaging-hosts/com.ruslan_osmanov.bee.json
+install -Dm644 chrome*bee.json* \
+$PKG/etc/opt/chrome/native-messaging-hosts/com.ruslan_osmanov.bee.json
+
+sed -i \
+ -e '/^# cJSON and cJSONUtils/,/^set(CJSON_DOWNLOAD_DIR "\${download_dir}")/d' \
+ -e '/^add_custom_command(TARGET beectl PRE_BUILD/,/COMMAND touch "\${CJSON_SOURCE_DIR}\/cJSON.c")/d' \
+ -e '/"\${CJSON_SOURCE_DIR}\/cJSON.c"/d' \
+ -e '/^add_dependencies(beectl cjson)/d' CMakeLists.txt
+
+mkdir -p build
+cd build
+ LDFLAGS+="-lcjson" cmake \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_BUILD_TYPE=Release ..
+ make
+ install -Dsm755 beectl -t $PKG/usr/libexec
+cd ..
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a README.* changelog $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/misc/bee-host/bee-host.info b/misc/bee-host/bee-host.info
new file mode 100644
index 0000000000..482bdfde9c
--- /dev/null
+++ b/misc/bee-host/bee-host.info
@@ -0,0 +1,10 @@
+PRGNAM="bee-host"
+VERSION="1.3.7.2"
+HOMEPAGE="https://github.com/rosmanov/bee-host"
+DOWNLOAD="https://github.com/rosmanov/bee-host/archive/1.3.7-2/bee-host-1.3.7-2.tar.gz"
+MD5SUM="27ca5456416ee0443d3af3594661999b"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="cJSON %README%"
+MAINTAINER="Alexander Verbovetsky"
+EMAIL="alik@ejik.org"
diff --git a/misc/bee-host/slack-desc b/misc/bee-host/slack-desc
new file mode 100644
index 0000000000..c008783dab
--- /dev/null
+++ b/misc/bee-host/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+bee-host: bee-host (native messaging app)
+bee-host:
+bee-host: Bee-host is a native messaging host application for Browser's
+bee-host: External Editor extension, which allows to edit text fields with
+bee-host: an external editor.
+bee-host:
+bee-host: Bee-host is required for the extension to work. The extension
+bee-host: supports Mozilla Firefox, Google Chrome, and Chromium based
+bee-host: browsers (Vivaldi, Brave, Mircosoft Edge, etc.).
+bee-host:
+bee-host: Homepage: https://github.com/rosmanov/bee-host
diff --git a/misc/bitwarden-desktop/bitwarden-desktop.SlackBuild b/misc/bitwarden-desktop/bitwarden-desktop.SlackBuild
index 4994fe07d9..1dad02550a 100644
--- a/misc/bitwarden-desktop/bitwarden-desktop.SlackBuild
+++ b/misc/bitwarden-desktop/bitwarden-desktop.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=bitwarden-desktop
SRCNAM=bitwarden
-VERSION=${VERSION:-2024.1.0}
+VERSION=${VERSION:-2024.4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/bitwarden-desktop/bitwarden-desktop.info b/misc/bitwarden-desktop/bitwarden-desktop.info
index f9790faad0..107a5d8eae 100644
--- a/misc/bitwarden-desktop/bitwarden-desktop.info
+++ b/misc/bitwarden-desktop/bitwarden-desktop.info
@@ -1,10 +1,10 @@
PRGNAM="bitwarden-desktop"
-VERSION="2024.1.0"
+VERSION="2024.4.1"
HOMEPAGE="https://bitwarden.com/"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://github.com/bitwarden/clients/releases/download/desktop-v2024.1.0/Bitwarden-2024.1.0-amd64.deb"
-MD5SUM_x86_64="a657900f96bad8f22c695b4a9c9cbf72"
+DOWNLOAD_x86_64="https://github.com/bitwarden/clients/releases/download/desktop-v2024.4.1/Bitwarden-2024.4.1-amd64.deb"
+MD5SUM_x86_64="6493b798986277d1041a5db778015c0c"
REQUIRES=""
MAINTAINER="marav"
EMAIL="marav8@free.fr"
diff --git a/misc/boxes/boxes.info b/misc/boxes/boxes.info
index ac14835fcf..55a96769ab 100644
--- a/misc/boxes/boxes.info
+++ b/misc/boxes/boxes.info
@@ -1,7 +1,7 @@
PRGNAM="boxes"
VERSION="1.1.2"
HOMEPAGE="http://boxes.thomasjensen.com/"
-DOWNLOAD="https://github.com/ascii-boxes/boxes/archive/v1.1.2.tar.gz"
+DOWNLOAD="https://github.com/ascii-boxes/boxes/archive/v1.1.2/boxes-1.1.2.tar.gz"
MD5SUM="9742c8a988869ed0803891f112ebbf5b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/misc/dtmflib/README b/misc/dtmflib/README
new file mode 100644
index 0000000000..c47f42babb
--- /dev/null
+++ b/misc/dtmflib/README
@@ -0,0 +1,4 @@
+dtmflib (synthesizes dialling tones)
+
+dtmflib is a library and command-line tool that synthesizes DTMF (aka
+TouchTone) telephone dialling tones.
diff --git a/misc/dtmflib/dtmflib.SlackBuild b/misc/dtmflib/dtmflib.SlackBuild
new file mode 100644
index 0000000000..a93e3ed757
--- /dev/null
+++ b/misc/dtmflib/dtmflib.SlackBuild
@@ -0,0 +1,99 @@
+#!/bin/bash
+
+# Slackware build script for dtmflib
+
+# Written by B. Watson (urchlay@slackware.uk)
+
+# Licensed under the WTFPL. See http://www.wtfpl.net/txt/copying/ for details.
+
+# Note: although this has "lib" in the name, and actually does install
+# a library and header, I'm putting it under misc/ because it's going
+# to be more useful as a standalone app (the dtmf command).
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PRGNAM=dtmflib
+VERSION=${VERSION:-20210112_6609071}
+COMMIT=${COMMIT:-6609071ba383e7a6d9bf7f7fd9d75bbdd1d8d717}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+PKGTYPE=${PKGTYPE:-tgz}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$COMMIT
+tar xvf $CWD/$PRGNAM-$COMMIT.tar.gz
+cd $PRGNAM-$COMMIT
+chown -R root:root .
+find -L . -perm /111 -a \! -perm 755 -a -exec chmod 755 {} + -o \
+ \! -perm /111 -a \! -perm 644 -a -exec chmod 644 {} +
+
+# add a trailing newline to the -h help message.
+sed -i '/-V version/s,";,\\n";,' src/dtmfutil.cpp
+
+# man page contains a wildly inaccurate description (copied from some
+# other utility?), bad grammar, and bad formatting; clean it up.
+patch -p1 < $CWD/manpage.diff
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+make
+make install-strip DESTDIR=$PKG
+rm -f $PKG/usr/lib*/*.la
+gzip -9 $PKG/usr/man/man*/*
+
+# don't bother with the tiny README.
+PKGDOC=$PKG/usr/doc/$PRGNAM-$VERSION
+mkdir -p $PKGDOC
+cp -a AUTHORS COPYING NEWS README.md $PKGDOC
+cat $CWD/$PRGNAM.SlackBuild > $PKGDOC/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
diff --git a/misc/dtmflib/dtmflib.info b/misc/dtmflib/dtmflib.info
new file mode 100644
index 0000000000..fcefe17fc0
--- /dev/null
+++ b/misc/dtmflib/dtmflib.info
@@ -0,0 +1,10 @@
+PRGNAM="dtmflib"
+VERSION="20210112_6609071"
+HOMEPAGE="https://github.com/gbonacini/dtmflib"
+DOWNLOAD="https://github.com/gbonacini/dtmflib/archive/6609071ba383e7a6d9bf7f7fd9d75bbdd1d8d717/dtmflib-6609071ba383e7a6d9bf7f7fd9d75bbdd1d8d717.tar.gz"
+MD5SUM="e315fb1a3e17df0fb33281fc8620a4ad"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES=""
+MAINTAINER="B. Watson"
+EMAIL="urchlay@slackware.uk"
diff --git a/misc/dtmflib/manpage.diff b/misc/dtmflib/manpage.diff
new file mode 100644
index 0000000000..ff11c447d1
--- /dev/null
+++ b/misc/dtmflib/manpage.diff
@@ -0,0 +1,75 @@
+diff --git a/doc/dtmf.1 b/doc/dtmf.1
+index b52d32f..96e6166 100644
+--- a/doc/dtmf.1
++++ b/doc/dtmf.1
+@@ -1,34 +1,46 @@
+-.TH DTMF 1 "JAN 2019" Linux "User Manuals"
++.TH DTMF 1 "April 2024" dtmflib-20210112_6609071 "SlackBuilds.org"
+ .SH NAME
+ dtmf \- a tool to generate DTMF tones. DTMF encoder/decoder for regular files.
+ .SH SYNOPSIS
+-.B dtmf [-s string to play]
++.B dtmf [-s string ]
+ .br
+-.B | [ -b input file to convert] [ -c input file to convert] [-t tone file] [-o output file]
++.B | [ -b input_file] [ -c input_file] [-t tone_file] [-o output_file]
+ .br
+-.B | [-h] | [-V]
++.B | [-h] | [-V]
+ .SH DESCRIPTION
+-dtmf is listening for events on file system involving file or directories and it's able to send a notification and/or perform actiotions using a the plugins availables. For example, it's possible to send notifications by email, Apache Kafka messages, snmp traps, syslog-ng log entries or simply writing on the cosole.
++.B dtmf
++generates DTMF (aka TouchTone) tones and sends them to the sound card, or encodes
++files as a series of DTMF tones and saves the result to a text file of digits, or decodes a
++previously-encoded file.
+ .SH OPTIONS
+-.IP -b\ input\ file
+-It is a regular file (binary or text) that will be
+-converted in tone coding.
+-.IP -c\ input\ file
+-It is a regular file (binary or text) that will be
+-converted in tone coding intended for IOT/mocrocontroller devices, using a coding that doesn't need synchronization.
+-.IP -t\ input\ file
+-It contains a sequence of tones that will be converted back to the initial file (binary or text).
+-.IP -o\ output\ file
+-This flag is necessary if -b or -t is specified. This file will contain the encoded/decode data.
+-.IP -s\ string
+-The string, with one or more ascii characters representing tones (01234567890ABCD#*), will be reproduced by sound card.
+-.IP -h
+-print this help message.
+-.IP -V
+-version information.
++.TP
++\fB\-b\fR \fIinput_file\fR
++Regular file (binary or text) that will be
++converted to tone coding.
++.TP
++\fB\-c\fR \fIinput_file\fR
++Regular file (binary or text) that will be
++converted to tone coding intended for IOT/mocrocontroller devices, using a coding that doesn't need synchronization.
++.TP
++\fB\-t\fR \fItone_file\fR
++Audio file containing a sequence of tones that will be converted back to the initial file (binary or text).
++.TP
++\fB\-o\fR \fIoutput_file\fR
++This flag is necessary if -b or -t is specified. This file will contain the encoded/decode data.
++.TP
++\fB\-s\fR \fIstring\fR
++The string, with one or more ASCII characters representing tones (01234567890ABCD#*), will be reproduced by sound card.
++.TP
++\fB\-h\fR
++print help message and exit.
++.TP
++\fB\-V\fR
++print version information and exit.
+ .SH BUGS
+ This program is a beta version, changes are possible. Please send me bug report to address specified here.
+ .SH AUTHOR
+-Gabriele Bonacini <gabriele.bonacini@protonmail.com>
+-.SH "SEE ALSO"
+-.BR DTMF(1)
++Gabriele Bonacini <gabriele.bonacini@protonmail.com> is the author of
++\fBdtmf\fR.
++.P
++This man page was modified by B. Watson <urchlay@slackware.uk> for use by the
++SlackBuilds.org project.
diff --git a/misc/dtmflib/slack-desc b/misc/dtmflib/slack-desc
new file mode 100644
index 0000000000..48bb9b826c
--- /dev/null
+++ b/misc/dtmflib/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dtmflib: dtmflib (synthesizes dialling tones)
+dtmflib:
+dtmflib: dtmflib is a library and command-line tool that synthesizes DTMF (aka
+dtmflib: TouchTone) telephone dialling tones.
+dtmflib:
+dtmflib:
+dtmflib:
+dtmflib:
+dtmflib:
+dtmflib:
+dtmflib:
diff --git a/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.SlackBuild b/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.SlackBuild
index 51ec5e7fec..2d1e5c5a1f 100644
--- a/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.SlackBuild
+++ b/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-chinese-addons
-VERSION=${VERSION:-5.1.3}
+VERSION=${VERSION:-5.1.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.info b/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.info
index 250c85f3cd..35482d7a7e 100644
--- a/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.info
+++ b/misc/fcitx5-chinese-addons/fcitx5-chinese-addons.info
@@ -1,8 +1,8 @@
PRGNAM="fcitx5-chinese-addons"
-VERSION="5.1.3"
+VERSION="5.1.4"
HOMEPAGE="https://github.com/fcitx/fcitx5-chinese-addons"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-chinese-addons/fcitx5-chinese-addons-5.1.3_dict.tar.xz"
-MD5SUM="4e3e97aa874cc818e17909aacaba0fdb"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-chinese-addons/fcitx5-chinese-addons-5.1.4_dict.tar.xz"
+MD5SUM="cc8dcac68aebfcf836160fe3fd0108e6"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fcitx5-qt libime"
diff --git a/misc/fcitx5-configtool/fcitx5-configtool.SlackBuild b/misc/fcitx5-configtool/fcitx5-configtool.SlackBuild
index e5b3f7fa71..50b647d7ba 100644
--- a/misc/fcitx5-configtool/fcitx5-configtool.SlackBuild
+++ b/misc/fcitx5-configtool/fcitx5-configtool.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-configtool
-VERSION=${VERSION:-5.1.3}
+VERSION=${VERSION:-5.1.4}
BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5-configtool/fcitx5-configtool.info b/misc/fcitx5-configtool/fcitx5-configtool.info
index 6a15c73f0d..1afb7bbbe8 100644
--- a/misc/fcitx5-configtool/fcitx5-configtool.info
+++ b/misc/fcitx5-configtool/fcitx5-configtool.info
@@ -1,8 +1,8 @@
PRGNAM="fcitx5-configtool"
-VERSION="5.1.3"
+VERSION="5.1.4"
HOMEPAGE="https://github.com/fcitx/fcitx5-configtool"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-configtool/fcitx5-configtool-5.1.3.tar.xz"
-MD5SUM="243aec1e85c057ffab7ccb36686744a4"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-configtool/fcitx5-configtool-5.1.4.tar.xz"
+MD5SUM="25e7b02ee957e15d10ce632483f3e0e9"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fcitx5-qt"
diff --git a/misc/fcitx5-gtk/fcitx5-gtk.SlackBuild b/misc/fcitx5-gtk/fcitx5-gtk.SlackBuild
index 8d9c2a1ef9..dcdf5d7681 100644
--- a/misc/fcitx5-gtk/fcitx5-gtk.SlackBuild
+++ b/misc/fcitx5-gtk/fcitx5-gtk.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-gtk
-VERSION=${VERSION:-5.1.1}
+VERSION=${VERSION:-5.1.2}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5-gtk/fcitx5-gtk.info b/misc/fcitx5-gtk/fcitx5-gtk.info
index eb5101af42..ae6a61cb21 100644
--- a/misc/fcitx5-gtk/fcitx5-gtk.info
+++ b/misc/fcitx5-gtk/fcitx5-gtk.info
@@ -1,8 +1,8 @@
PRGNAM="fcitx5-gtk"
-VERSION="5.1.1"
+VERSION="5.1.2"
HOMEPAGE="https://github.com/fcitx/fcitx5-gtk"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-gtk/fcitx5-gtk-5.1.1.tar.xz"
-MD5SUM="4624edf9ecc5e77a7a7e4e19b9a81079"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-gtk/fcitx5-gtk-5.1.2.tar.xz"
+MD5SUM="8e7e17fd0569b1f7492812f455fbf7b8"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fcitx5"
diff --git a/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.SlackBuild b/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.SlackBuild
index e1d59435e5..26c2e7fcb9 100644
--- a/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.SlackBuild
+++ b/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-mcbopomofo
-VERSION=${VERSION:-2.5.2}
+VERSION=${VERSION:-2.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.info b/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.info
index c1b4799781..991cc07626 100644
--- a/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.info
+++ b/misc/fcitx5-mcbopomofo/fcitx5-mcbopomofo.info
@@ -1,10 +1,10 @@
PRGNAM="fcitx5-mcbopomofo"
-VERSION="2.5.2"
+VERSION="2.7"
HOMEPAGE="https://github.com/openvanilla/fcitx5-mcbopomofo"
-DOWNLOAD="https://github.com/openvanilla/fcitx5-mcbopomofo/archive/2.5.2/fcitx5-mcbopomofo-2.5.2.tar.gz"
-MD5SUM="3525a98b46a9033cafcb4cd81b307768"
+DOWNLOAD="https://github.com/openvanilla/fcitx5-mcbopomofo/archive/2.7/fcitx5-mcbopomofo-2.7.tar.gz"
+MD5SUM="ca825bab093fe4ba6f81cda92970f1ba"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fcitx5"
MAINTAINER="ltlnx"
-EMAIL="ltlnx@gmx.com"
+EMAIL="ltlnx@disroot.org"
diff --git a/misc/fcitx5-qt/README b/misc/fcitx5-qt/README
index 3dfcdbe776..2f83854aea 100644
--- a/misc/fcitx5-qt/README
+++ b/misc/fcitx5-qt/README
@@ -1,5 +1,7 @@
-fcitx5-qt is the Qt im-module for fcitx5 and it's needed to use fcitx5
-with Qt-based applications. It currently supports Qt4, Qt5 and Qt6.
+fcitx5-qt is the Qt im-module for fcitx5 and it needs to be installed
+in order to use fcitx5 with Qt-based applications. It currently
+supports Qt4, Qt5 and Qt6.
+
You'll need several Qt modules if you're going to enable Qt5/Qt6
support, namely QtCore, QtDbus, QtWidgets and QtX11Extras. Qt5 is
bundled in Slackware, however if you want Qt6 support you're on your
@@ -7,8 +9,17 @@ own; but any app that requires Qt6 on SBo at this point should have
already pulled all the dependencies in.
Relevant CMake options are ENABLE_QT4, ENABLE_QT5 and ENABLE_QT6.
-Both ENABLE_QT4 and ENABLE_QT5 are turned on by default, and ENABLE_QT6
-is turned off by default; however Slackware has dropped Qt4 in Slackware
-15, so ENABLE_QT4 is turned off in the SlackBuild. You might want to
-turn on/off the flag depending on the Qt version you are using.
+ENABLE_QT4 is turned off by default, ENABLE_QT5 and ENABLE_QT6 are
+turned on by default. However to avoid pulling in excess dependencies,
+Qt6 support is turned off in the SlackBuild. If you need Qt4 or Qt6
+support, you might want to turn the flags on/off depending on the Qt
+version you are using. To enable Qt4, you need to modify
+
+ -DENABLE_QT4=Off \
+
+from "Off" to "On". Similarly, to turn on Qt6 support, turn
+
+ -DENABLE_QT6=Off \
+ -DENABLE_QT6_WAYLAND_WORKAROUND=Off ..
+from "Off" to "On".
diff --git a/misc/fcitx5-qt/fcitx5-qt.SlackBuild b/misc/fcitx5-qt/fcitx5-qt.SlackBuild
index 3ed33f0037..d60735c8c4 100644
--- a/misc/fcitx5-qt/fcitx5-qt.SlackBuild
+++ b/misc/fcitx5-qt/fcitx5-qt.SlackBuild
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-qt
-VERSION=${VERSION:-5.1.4}
-BUILD=${BUILD:-1}
+VERSION=${VERSION:-5.1.5}
+BUILD=${BUILD:-2}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -81,7 +81,9 @@ cd build
-DCMAKE_C_FLAGS="${SLKCFLAGS}" \
-DCMAKE_INSTALL_PREFIX="/usr" \
-DCMAKE_INSTALL_LIBDIR=lib${LIBDIRSUFFIX} \
- -DENABLE_QT4=Off ..
+ -DENABLE_QT4=Off \
+ -DENABLE_QT6=Off \
+ -DENABLE_QT6_WAYLAND_WORKAROUND=Off ..
make
make install/strip DESTDIR=$PKG
cd ..
diff --git a/misc/fcitx5-qt/fcitx5-qt.info b/misc/fcitx5-qt/fcitx5-qt.info
index f12de0d50c..750d7f18ab 100644
--- a/misc/fcitx5-qt/fcitx5-qt.info
+++ b/misc/fcitx5-qt/fcitx5-qt.info
@@ -1,8 +1,8 @@
PRGNAM="fcitx5-qt"
-VERSION="5.1.4"
+VERSION="5.1.5"
HOMEPAGE="https://github.com/fcitx/fcitx5-qt"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-qt/fcitx5-qt-5.1.4.tar.xz"
-MD5SUM="283f39ee27a5d8043a7086f4856f7d18"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-qt/fcitx5-qt-5.1.5.tar.xz"
+MD5SUM="91d1b828b5263843117c3d8a2c0fb1d0"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fcitx5"
diff --git a/misc/fcitx5-table-extra/fcitx5-table-extra.SlackBuild b/misc/fcitx5-table-extra/fcitx5-table-extra.SlackBuild
index 0b2d8aacde..c2b8eb2f25 100644
--- a/misc/fcitx5-table-extra/fcitx5-table-extra.SlackBuild
+++ b/misc/fcitx5-table-extra/fcitx5-table-extra.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-table-extra
-VERSION=${VERSION:-5.1.3}
+VERSION=${VERSION:-5.1.4}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5-table-extra/fcitx5-table-extra.info b/misc/fcitx5-table-extra/fcitx5-table-extra.info
index bac9e5f76b..71d6cd7f26 100644
--- a/misc/fcitx5-table-extra/fcitx5-table-extra.info
+++ b/misc/fcitx5-table-extra/fcitx5-table-extra.info
@@ -1,8 +1,8 @@
PRGNAM="fcitx5-table-extra"
-VERSION="5.1.3"
+VERSION="5.1.4"
HOMEPAGE="https://github.com/fcitx/fcitx5-table-extra"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-5.1.3.tar.xz"
-MD5SUM="b5f29d7767050172b537ed470a123edd"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-table-extra/fcitx5-table-extra-5.1.4.tar.xz"
+MD5SUM="de95e17779128e331bc14f7b32eebd9d"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libime fcitx5"
diff --git a/misc/fcitx5-table-other/fcitx5-table-other.SlackBuild b/misc/fcitx5-table-other/fcitx5-table-other.SlackBuild
index ab49d836bd..bded45b468 100644
--- a/misc/fcitx5-table-other/fcitx5-table-other.SlackBuild
+++ b/misc/fcitx5-table-other/fcitx5-table-other.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5-table-other
-VERSION=${VERSION:-5.1.0}
+VERSION=${VERSION:-5.1.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5-table-other/fcitx5-table-other.info b/misc/fcitx5-table-other/fcitx5-table-other.info
index 322d415ccc..0e87257e56 100644
--- a/misc/fcitx5-table-other/fcitx5-table-other.info
+++ b/misc/fcitx5-table-other/fcitx5-table-other.info
@@ -1,10 +1,10 @@
PRGNAM="fcitx5-table-other"
-VERSION="5.1.0"
+VERSION="5.1.1"
HOMEPAGE="https://github.com/fcitx/fcitx5-table-other"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-table-other/fcitx5-table-other-5.1.0.tar.xz"
-MD5SUM="1009e594e5da79b6c718c3349cf081d3"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5-table-other/fcitx5-table-other-5.1.1.tar.xz"
+MD5SUM="75d0b6f0bad6e781b1d358aaa7c593e3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="libime"
+REQUIRES="libime fcitx5"
MAINTAINER="ltlnx"
-EMAIL="ltlnx@gmx.com"
+EMAIL="ltlnx@disroot.org"
diff --git a/misc/fcitx5/fcitx5.SlackBuild b/misc/fcitx5/fcitx5.SlackBuild
index 48779e53e3..662f996168 100644
--- a/misc/fcitx5/fcitx5.SlackBuild
+++ b/misc/fcitx5/fcitx5.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=fcitx5
-VERSION=${VERSION:-5.1.7}
+VERSION=${VERSION:-5.1.8}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/fcitx5/fcitx5.info b/misc/fcitx5/fcitx5.info
index 3ebb2a8c4b..e185c82b2b 100644
--- a/misc/fcitx5/fcitx5.info
+++ b/misc/fcitx5/fcitx5.info
@@ -1,8 +1,8 @@
PRGNAM="fcitx5"
-VERSION="5.1.7"
+VERSION="5.1.8"
HOMEPAGE="https://fcitx-im.org/wiki/Fcitx_5"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-5.1.7_dict.tar.xz"
-MD5SUM="9b65189883dbcf825f0bd75e1e7a9df3"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/fcitx5/fcitx5-5.1.8_dict.tar.xz"
+MD5SUM="f3cabadf80a3bdd252d37079bbdcecdf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fmt xcb-imdkit"
diff --git a/misc/flips/flips.SlackBuild b/misc/flips/flips.SlackBuild
index a31b52a248..292dcdb7bc 100644
--- a/misc/flips/flips.SlackBuild
+++ b/misc/flips/flips.SlackBuild
@@ -27,8 +27,8 @@ cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=flips
SRCNAM=Flips
-VERSION=${VERSION:-20230315_fdd5c6e}
-SRCVER=${SRCVER:-fdd5c6e34285beef5b9be759c9b91390df486c66}
+VERSION=${VERSION:-20240417_20b0da9}
+SRCVER=${SRCVER:-20b0da9ab95d23da89f821bbddedb11b8e0e6531}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/flips/flips.info b/misc/flips/flips.info
index 74625fbc07..95d1d8d15a 100644
--- a/misc/flips/flips.info
+++ b/misc/flips/flips.info
@@ -1,8 +1,8 @@
PRGNAM="flips"
-VERSION="20230315_fdd5c6e"
+VERSION="20240417_20b0da9"
HOMEPAGE="https://github.com/Alcaro/Flips"
-DOWNLOAD="https://github.com/Alcaro/Flips/archive/fdd5c6e34285beef5b9be759c9b91390df486c66/Flips-fdd5c6e34285beef5b9be759c9b91390df486c66.tar.gz"
-MD5SUM="8f6e99b283122ca74231044bf24ba04e"
+DOWNLOAD="https://github.com/Alcaro/Flips/archive/20b0da9ab95d23da89f821bbddedb11b8e0e6531/Flips-20b0da9ab95d23da89f821bbddedb11b8e0e6531.tar.gz"
+MD5SUM="74edf3dd926c5d6fd5510ff940e5275b"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
diff --git a/misc/gourmet/gourmet.info b/misc/gourmet/gourmet.info
index 74cc23e49e..53396ca77d 100644
--- a/misc/gourmet/gourmet.info
+++ b/misc/gourmet/gourmet.info
@@ -1,7 +1,7 @@
PRGNAM="gourmet"
VERSION="0.17.4"
HOMEPAGE="http://thinkle.github.io/gourmet/"
-DOWNLOAD="https://github.com/thinkle/gourmet/archive/0.17.4.tar.gz"
+DOWNLOAD="https://github.com/thinkle/gourmet/archive/0.17.4/gourmet-0.17.4.tar.gz"
MD5SUM="937334364abc3093709a604c1d473e9f"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/misc/ibus-skk/ibus-skk.info b/misc/ibus-skk/ibus-skk.info
index 05cb3d8934..c1a4f17cf0 100644
--- a/misc/ibus-skk/ibus-skk.info
+++ b/misc/ibus-skk/ibus-skk.info
@@ -1,7 +1,7 @@
PRGNAM="ibus-skk"
VERSION="1.3.9"
HOMEPAGE="https://github.com/ueno/ibus-skk"
-DOWNLOAD="https://github.com/ueno/ibus-skk/archive/ibus-skk-1.3.9.tar.gz"
+DOWNLOAD="https://github.com/ueno/ibus-skk/archive/ibus-skk-1.3.9/ibus-skk-ibus-skk-1.3.9.tar.gz"
MD5SUM="7f9d74c65546c7f34f050fd44a5a21ba"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/misc/libime/libime.SlackBuild b/misc/libime/libime.SlackBuild
index 29b29f9c7f..1fe2bdfecd 100644
--- a/misc/libime/libime.SlackBuild
+++ b/misc/libime/libime.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=libime
-VERSION=${VERSION:-1.1.5}
+VERSION=${VERSION:-1.1.6}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/libime/libime.info b/misc/libime/libime.info
index 7c62da364e..5a666c1475 100644
--- a/misc/libime/libime.info
+++ b/misc/libime/libime.info
@@ -1,8 +1,8 @@
PRGNAM="libime"
-VERSION="1.1.5"
+VERSION="1.1.6"
HOMEPAGE="https://github.com/fcitx/libime"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/libime/libime-1.1.5_dict.tar.xz"
-MD5SUM="7c9cc2aa8d9527d027e0467d5e2c444d"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/libime/libime-1.1.6_dict.tar.xz"
+MD5SUM="761d3d76e6a39610de98e5e374aef4f5"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="fcitx5"
diff --git a/misc/sigrok-firmware-fx2lafw/patches/00-fx2lafw__silence_integer_overflow_compile_warnings.patch b/misc/sigrok-firmware-fx2lafw/patches/00-fx2lafw__silence_integer_overflow_compile_warnings.patch
new file mode 100644
index 0000000000..57143d0f91
--- /dev/null
+++ b/misc/sigrok-firmware-fx2lafw/patches/00-fx2lafw__silence_integer_overflow_compile_warnings.patch
@@ -0,0 +1,26 @@
+From: Gerhard Sittig <redacted>
+Date: Mon, 22 Feb 2021 19:17:02 +0000 (+0100)
+Subject: fx2lafw: silence integer overflow compile warnings
+X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=61f1c8fc33ce959f167f6bcb5ba3b0959d60b038
+
+fx2lafw: silence integer overflow compile warnings
+
+Explicitly mark literals for control bitfield values as unsigned, to
+avoid compiler warnings when the MSB gets set in assignments to a byte.
+This kind of follows up to commit f6ef2ff72979 after commit b283ba837a11
+re-introduced the warning.
+---
+
+diff --git a/gpif-acquisition.c b/gpif-acquisition.c
+index 96476ccc..c6ba52a0 100644
+--- a/gpif-acquisition.c
++++ b/gpif-acquisition.c
+@@ -161,7 +161,7 @@ static void gpif_make_data_dp_state(volatile BYTE *pSTATE)
+ * BRANCH
+ * Branch to IDLE if condition is true, back to S0 otherwise.
+ */
+- pSTATE[0] = (1 << 7) | (7 << 3) | (0 << 0);
++ pSTATE[0] = (1u << 7) | (7u << 3) | (0u << 0);
+
+ /*
+ * OPCODE
diff --git a/misc/sigrok-firmware-fx2lafw/patches/01-fx2lib__Update___interrupt_syntax_for_sdcc_4.2.3.patch b/misc/sigrok-firmware-fx2lafw/patches/01-fx2lib__Update___interrupt_syntax_for_sdcc_4.2.3.patch
new file mode 100644
index 0000000000..72387ac5d7
--- /dev/null
+++ b/misc/sigrok-firmware-fx2lafw/patches/01-fx2lib__Update___interrupt_syntax_for_sdcc_4.2.3.patch
@@ -0,0 +1,575 @@
+From: Matthew Cengia <redacted>
+Date: Tue, 15 Aug 2023 00:38:34 +0000 (+1000)
+Subject: fx2lib: Update __interrupt syntax for sdcc>=4.2.3
+X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=5aab87d358a4585a10ad89277bb88ad139077abd
+
+fx2lib: Update __interrupt syntax for sdcc>=4.2.3
+
+The SDCC user manual https://sdcc.sourceforge.net/doc/sdccman.pdf
+section 1.5 "Compatibility with previous versions" on page 11 states:
+
+> In 4.2.3, support for non-parenthesized arguments to __using and
+> __interrupt was dropped.
+
+Adjust the imported fx2lib source files to unbreak compilation with
+more recent SDCC versions.
+---
+
+diff --git a/fx2lib/include/autovector.h b/fx2lib/include/autovector.h
+index 495a3126..38f80fcd 100644
+--- a/fx2lib/include/autovector.h
++++ b/fx2lib/include/autovector.h
+@@ -172,49 +172,49 @@ typedef enum {
+ // you must include the predef of these in the file with your main
+ // so lets just define them here
+
+-void sudav_isr() __interrupt SUDAV_ISR;
+-void sof_isr() __interrupt SOF_ISR;
+-void sutok_isr() __interrupt SUTOK_ISR;
+-void suspend_isr() __interrupt SUSPEND_ISR;
+-void usbreset_isr() __interrupt USBRESET_ISR;
+-void hispeed_isr() __interrupt HISPEED_ISR;
+-void ep0ack_isr() __interrupt EP0ACK_ISR;
+-void ep0in_isr() __interrupt EP0IN_ISR;
+-void ep0out_isr() __interrupt EP0OUT_ISR;
+-void ep1in_isr() __interrupt EP1IN_ISR;
+-void ep1out_isr() __interrupt EP1OUT_ISR;
+-void ep2_isr() __interrupt EP2_ISR;
+-void ep4_isr() __interrupt EP4_ISR;
+-void ep6_isr() __interrupt EP6_ISR;
+-void ep8_isr() __interrupt EP8_ISR;
+-void ibn_isr() __interrupt IBN_ISR;
+-void ep0ping_isr() __interrupt EP0PING_ISR;
+-void ep1ping_isr() __interrupt EP1PING_ISR;
+-void ep2ping_isr() __interrupt EP2PING_ISR;
+-void ep4ping_isr() __interrupt EP4PING_ISR;
+-void ep6ping_isr() __interrupt EP6PING_ISR;
+-void ep8ping_isr() __interrupt EP8PING_ISR;
+-void errlimit_isr() __interrupt ERRLIMIT_ISR;
+-void ep2isoerr_isr() __interrupt EP2ISOERR_ISR;
+-void ep4isoerr_isr() __interrupt EP4ISOERR_ISR;
+-void ep6isoerr_isr() __interrupt EP6ISOERR_ISR;
+-void ep8isoerr_isr() __interrupt EP8ISOERR_ISR;
+-void spare_isr() __interrupt RESERVED_ISR; // not used
++void sudav_isr() __interrupt(SUDAV_ISR);
++void sof_isr() __interrupt(SOF_ISR);
++void sutok_isr() __interrupt(SUTOK_ISR);
++void suspend_isr() __interrupt(SUSPEND_ISR);
++void usbreset_isr() __interrupt(USBRESET_ISR);
++void hispeed_isr() __interrupt(HISPEED_ISR);
++void ep0ack_isr() __interrupt(EP0ACK_ISR);
++void ep0in_isr() __interrupt(EP0IN_ISR);
++void ep0out_isr() __interrupt(EP0OUT_ISR);
++void ep1in_isr() __interrupt(EP1IN_ISR);
++void ep1out_isr() __interrupt(EP1OUT_ISR);
++void ep2_isr() __interrupt(EP2_ISR);
++void ep4_isr() __interrupt(EP4_ISR);
++void ep6_isr() __interrupt(EP6_ISR);
++void ep8_isr() __interrupt(EP8_ISR);
++void ibn_isr() __interrupt(IBN_ISR);
++void ep0ping_isr() __interrupt(EP0PING_ISR);
++void ep1ping_isr() __interrupt(EP1PING_ISR);
++void ep2ping_isr() __interrupt(EP2PING_ISR);
++void ep4ping_isr() __interrupt(EP4PING_ISR);
++void ep6ping_isr() __interrupt(EP6PING_ISR);
++void ep8ping_isr() __interrupt(EP8PING_ISR);
++void errlimit_isr() __interrupt(ERRLIMIT_ISR);
++void ep2isoerr_isr() __interrupt(EP2ISOERR_ISR);
++void ep4isoerr_isr() __interrupt(EP4ISOERR_ISR);
++void ep6isoerr_isr() __interrupt(EP6ISOERR_ISR);
++void ep8isoerr_isr() __interrupt(EP8ISOERR_ISR);
++void spare_isr() __interrupt(RESERVED_ISR); // not used
+ // gpif ints
+-void ep2pf_isr() __interrupt EP2PF_ISR;
+-void ep4pf_isr() __interrupt EP4PF_ISR;
+-void ep6pf_isr() __interrupt EP6PF_ISR;
+-void ep8pf_isr() __interrupt EP8PF_ISR;
+-void ep2ef_isr() __interrupt EP2EF_ISR;
+-void ep4ef_isr() __interrupt EP4EF_ISR;
+-void ep6ef_isr() __interrupt EP6EF_ISR;
+-void ep8ef_isr() __interrupt EP8EF_ISR;
+-void ep2ff_isr() __interrupt EP2FF_ISR;
+-void ep4ff_isr() __interrupt EP4FF_ISR;
+-void ep6ff_isr() __interrupt EP6FF_ISR;
+-void ep8ff_isr() __interrupt EP8FF_ISR;
+-void gpifdone_isr() __interrupt GPIFDONE_ISR;
+-void gpifwf_isr() __interrupt GPIFWF_ISR;
++void ep2pf_isr() __interrupt(EP2PF_ISR);
++void ep4pf_isr() __interrupt(EP4PF_ISR);
++void ep6pf_isr() __interrupt(EP6PF_ISR);
++void ep8pf_isr() __interrupt(EP8PF_ISR);
++void ep2ef_isr() __interrupt(EP2EF_ISR);
++void ep4ef_isr() __interrupt(EP4EF_ISR);
++void ep6ef_isr() __interrupt(EP6EF_ISR);
++void ep8ef_isr() __interrupt(EP8EF_ISR);
++void ep2ff_isr() __interrupt(EP2FF_ISR);
++void ep4ff_isr() __interrupt(EP4FF_ISR);
++void ep6ff_isr() __interrupt(EP6FF_ISR);
++void ep8ff_isr() __interrupt(EP8FF_ISR);
++void gpifdone_isr() __interrupt(GPIFDONE_ISR);
++void gpifwf_isr() __interrupt(GPIFWF_ISR);
+
+ #endif
+
+diff --git a/fx2lib/lib/interrupts/ep0ack_isr.c b/fx2lib/lib/interrupts/ep0ack_isr.c
+index dec4e56a..d216717d 100644
+--- a/fx2lib/lib/interrupts/ep0ack_isr.c
++++ b/fx2lib/lib/interrupts/ep0ack_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0ack_isr() __interrupt EP0ACK_ISR {}
++void ep0ack_isr() __interrupt(EP0ACK_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep0in_isr.c b/fx2lib/lib/interrupts/ep0in_isr.c
+index 2fa99a42..f3d8990e 100644
+--- a/fx2lib/lib/interrupts/ep0in_isr.c
++++ b/fx2lib/lib/interrupts/ep0in_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0in_isr() __interrupt EP0IN_ISR {}
++void ep0in_isr() __interrupt(EP0IN_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep0out_isr.c b/fx2lib/lib/interrupts/ep0out_isr.c
+index 043ae70d..a5acedb7 100644
+--- a/fx2lib/lib/interrupts/ep0out_isr.c
++++ b/fx2lib/lib/interrupts/ep0out_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0out_isr() __interrupt EP0OUT_ISR {}
++void ep0out_isr() __interrupt(EP0OUT_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep0ping_isr.c b/fx2lib/lib/interrupts/ep0ping_isr.c
+index 3062d177..7b1ee929 100644
+--- a/fx2lib/lib/interrupts/ep0ping_isr.c
++++ b/fx2lib/lib/interrupts/ep0ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0ping_isr() __interrupt EP0PING_ISR {}
++void ep0ping_isr() __interrupt(EP0PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep1in_isr.c b/fx2lib/lib/interrupts/ep1in_isr.c
+index d4ecf06f..b666fcb3 100644
+--- a/fx2lib/lib/interrupts/ep1in_isr.c
++++ b/fx2lib/lib/interrupts/ep1in_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep1in_isr() __interrupt EP1IN_ISR {}
++void ep1in_isr() __interrupt(EP1IN_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep1out_isr.c b/fx2lib/lib/interrupts/ep1out_isr.c
+index 998b7aa8..6c87dc20 100644
+--- a/fx2lib/lib/interrupts/ep1out_isr.c
++++ b/fx2lib/lib/interrupts/ep1out_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep1out_isr() __interrupt EP1OUT_ISR {}
++void ep1out_isr() __interrupt(EP1OUT_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep1ping_isr.c b/fx2lib/lib/interrupts/ep1ping_isr.c
+index ff8990e0..c32d437c 100644
+--- a/fx2lib/lib/interrupts/ep1ping_isr.c
++++ b/fx2lib/lib/interrupts/ep1ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep1ping_isr() __interrupt EP1PING_ISR {}
++void ep1ping_isr() __interrupt(EP1PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep2_isr.c b/fx2lib/lib/interrupts/ep2_isr.c
+index 43a31b7d..4de637a3 100644
+--- a/fx2lib/lib/interrupts/ep2_isr.c
++++ b/fx2lib/lib/interrupts/ep2_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2_isr() __interrupt EP2_ISR {}
++void ep2_isr() __interrupt(EP2_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep2ef_isr.c b/fx2lib/lib/interrupts/ep2ef_isr.c
+index e26c5e8a..46f3f87a 100644
+--- a/fx2lib/lib/interrupts/ep2ef_isr.c
++++ b/fx2lib/lib/interrupts/ep2ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2ef_isr() __interrupt EP2EF_ISR{}
++void ep2ef_isr() __interrupt(EP2EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep2ff_isr.c b/fx2lib/lib/interrupts/ep2ff_isr.c
+index 22bb95d7..400e4803 100644
+--- a/fx2lib/lib/interrupts/ep2ff_isr.c
++++ b/fx2lib/lib/interrupts/ep2ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2ff_isr() __interrupt EP2FF_ISR{}
++void ep2ff_isr() __interrupt(EP2FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep2isoerr_isr.c b/fx2lib/lib/interrupts/ep2isoerr_isr.c
+index b9dc9b50..d0ca4a89 100644
+--- a/fx2lib/lib/interrupts/ep2isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep2isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2isoerr_isr() __interrupt EP2ISOERR_ISR {}
++void ep2isoerr_isr() __interrupt(EP2ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep2pf_isr.c b/fx2lib/lib/interrupts/ep2pf_isr.c
+index 7cad068e..9bd8e9aa 100644
+--- a/fx2lib/lib/interrupts/ep2pf_isr.c
++++ b/fx2lib/lib/interrupts/ep2pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2pf_isr() __interrupt EP2PF_ISR{}
++void ep2pf_isr() __interrupt(EP2PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep2ping_isr.c b/fx2lib/lib/interrupts/ep2ping_isr.c
+index 78affed5..dad1e953 100644
+--- a/fx2lib/lib/interrupts/ep2ping_isr.c
++++ b/fx2lib/lib/interrupts/ep2ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2ping_isr() __interrupt EP2PING_ISR {}
++void ep2ping_isr() __interrupt(EP2PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep4_isr.c b/fx2lib/lib/interrupts/ep4_isr.c
+index 0315c853..5affac9a 100644
+--- a/fx2lib/lib/interrupts/ep4_isr.c
++++ b/fx2lib/lib/interrupts/ep4_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4_isr() __interrupt EP4_ISR {}
++void ep4_isr() __interrupt(EP4_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep4ef_isr.c b/fx2lib/lib/interrupts/ep4ef_isr.c
+index a203e7ba..4a0cff1a 100644
+--- a/fx2lib/lib/interrupts/ep4ef_isr.c
++++ b/fx2lib/lib/interrupts/ep4ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4ef_isr() __interrupt EP4EF_ISR{}
++void ep4ef_isr() __interrupt(EP4EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep4ff_isr.c b/fx2lib/lib/interrupts/ep4ff_isr.c
+index e0cd201b..3278da2d 100644
+--- a/fx2lib/lib/interrupts/ep4ff_isr.c
++++ b/fx2lib/lib/interrupts/ep4ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4ff_isr() __interrupt EP4FF_ISR{}
++void ep4ff_isr() __interrupt(EP4FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep4isoerr_isr.c b/fx2lib/lib/interrupts/ep4isoerr_isr.c
+index 579fb8bf..dcd7ff90 100644
+--- a/fx2lib/lib/interrupts/ep4isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep4isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4isoerr_isr() __interrupt EP4ISOERR_ISR {}
++void ep4isoerr_isr() __interrupt(EP4ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep4pf_isr.c b/fx2lib/lib/interrupts/ep4pf_isr.c
+index ec5ce725..7bbe9f02 100644
+--- a/fx2lib/lib/interrupts/ep4pf_isr.c
++++ b/fx2lib/lib/interrupts/ep4pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4pf_isr() __interrupt EP4PF_ISR{}
++void ep4pf_isr() __interrupt(EP4PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep4ping_isr.c b/fx2lib/lib/interrupts/ep4ping_isr.c
+index 18bac000..8d226856 100644
+--- a/fx2lib/lib/interrupts/ep4ping_isr.c
++++ b/fx2lib/lib/interrupts/ep4ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4ping_isr() __interrupt EP4PING_ISR {}
++void ep4ping_isr() __interrupt(EP4PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep6_isr.c b/fx2lib/lib/interrupts/ep6_isr.c
+index 552e60de..630f9b26 100644
+--- a/fx2lib/lib/interrupts/ep6_isr.c
++++ b/fx2lib/lib/interrupts/ep6_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6_isr() __interrupt EP6_ISR {}
++void ep6_isr() __interrupt(EP6_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep6ef_isr.c b/fx2lib/lib/interrupts/ep6ef_isr.c
+index 39e8e0c5..e9ba6d54 100644
+--- a/fx2lib/lib/interrupts/ep6ef_isr.c
++++ b/fx2lib/lib/interrupts/ep6ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6ef_isr() __interrupt EP6EF_ISR{}
++void ep6ef_isr() __interrupt(EP6EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep6ff_isr.c b/fx2lib/lib/interrupts/ep6ff_isr.c
+index 54137316..011fe871 100644
+--- a/fx2lib/lib/interrupts/ep6ff_isr.c
++++ b/fx2lib/lib/interrupts/ep6ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6ff_isr() __interrupt EP6FF_ISR{}
++void ep6ff_isr() __interrupt(EP6FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep6isoerr_isr.c b/fx2lib/lib/interrupts/ep6isoerr_isr.c
+index 407414c7..8c005777 100644
+--- a/fx2lib/lib/interrupts/ep6isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep6isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6isoerr_isr() __interrupt EP6ISOERR_ISR {}
++void ep6isoerr_isr() __interrupt(EP6ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep6pf_isr.c b/fx2lib/lib/interrupts/ep6pf_isr.c
+index 808f7513..52f6d738 100644
+--- a/fx2lib/lib/interrupts/ep6pf_isr.c
++++ b/fx2lib/lib/interrupts/ep6pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6pf_isr() __interrupt EP6PF_ISR{}
++void ep6pf_isr() __interrupt(EP6PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep6ping_isr.c b/fx2lib/lib/interrupts/ep6ping_isr.c
+index 53f8ba52..5430f209 100644
+--- a/fx2lib/lib/interrupts/ep6ping_isr.c
++++ b/fx2lib/lib/interrupts/ep6ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6ping_isr() __interrupt EP6PING_ISR {}
++void ep6ping_isr() __interrupt(EP6PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep8_isr.c b/fx2lib/lib/interrupts/ep8_isr.c
+index 4f1dd51d..d415a3ec 100644
+--- a/fx2lib/lib/interrupts/ep8_isr.c
++++ b/fx2lib/lib/interrupts/ep8_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8_isr() __interrupt EP8_ISR {}
++void ep8_isr() __interrupt(EP8_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep8ef_isr.c b/fx2lib/lib/interrupts/ep8ef_isr.c
+index c018f3ac..d04d2376 100644
+--- a/fx2lib/lib/interrupts/ep8ef_isr.c
++++ b/fx2lib/lib/interrupts/ep8ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8ef_isr() __interrupt EP8EF_ISR{}
++void ep8ef_isr() __interrupt(EP8EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep8ff_isr.c b/fx2lib/lib/interrupts/ep8ff_isr.c
+index a6169de3..d1e5fcd7 100644
+--- a/fx2lib/lib/interrupts/ep8ff_isr.c
++++ b/fx2lib/lib/interrupts/ep8ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8ff_isr() __interrupt EP8FF_ISR{}
++void ep8ff_isr() __interrupt(EP8FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep8isoerr_isr.c b/fx2lib/lib/interrupts/ep8isoerr_isr.c
+index a95bae9a..a7e8e0f9 100644
+--- a/fx2lib/lib/interrupts/ep8isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep8isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8isoerr_isr() __interrupt EP8ISOERR_ISR {}
++void ep8isoerr_isr() __interrupt(EP8ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep8pf_isr.c b/fx2lib/lib/interrupts/ep8pf_isr.c
+index b0e687c6..53dcdf27 100644
+--- a/fx2lib/lib/interrupts/ep8pf_isr.c
++++ b/fx2lib/lib/interrupts/ep8pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8pf_isr() __interrupt EP8PF_ISR{}
++void ep8pf_isr() __interrupt(EP8PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep8ping_isr.c b/fx2lib/lib/interrupts/ep8ping_isr.c
+index e9c25d9e..5cf05dc7 100644
+--- a/fx2lib/lib/interrupts/ep8ping_isr.c
++++ b/fx2lib/lib/interrupts/ep8ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8ping_isr() __interrupt EP8PING_ISR {}
++void ep8ping_isr() __interrupt(EP8PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/errlimit_isr.c b/fx2lib/lib/interrupts/errlimit_isr.c
+index fe103c22..cf4e1f61 100644
+--- a/fx2lib/lib/interrupts/errlimit_isr.c
++++ b/fx2lib/lib/interrupts/errlimit_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void errlimit_isr() __interrupt ERRLIMIT_ISR {}
++void errlimit_isr() __interrupt(ERRLIMIT_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/gpifdone_isr.c b/fx2lib/lib/interrupts/gpifdone_isr.c
+index 6bb15c77..ee5ce1f6 100644
+--- a/fx2lib/lib/interrupts/gpifdone_isr.c
++++ b/fx2lib/lib/interrupts/gpifdone_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void gpifdone_isr() __interrupt GPIFDONE_ISR{}
++void gpifdone_isr() __interrupt(GPIFDONE_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/gpifwf_isr.c b/fx2lib/lib/interrupts/gpifwf_isr.c
+index 49eba448..e9941541 100644
+--- a/fx2lib/lib/interrupts/gpifwf_isr.c
++++ b/fx2lib/lib/interrupts/gpifwf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void gpifwf_isr() __interrupt GPIFWF_ISR{}
++void gpifwf_isr() __interrupt(GPIFWF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/hispeed_isr.c b/fx2lib/lib/interrupts/hispeed_isr.c
+index 7b05916f..9daabc12 100644
+--- a/fx2lib/lib/interrupts/hispeed_isr.c
++++ b/fx2lib/lib/interrupts/hispeed_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void hispeed_isr() __interrupt HISPEED_ISR {}
++void hispeed_isr() __interrupt(HISPEED_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ibn_isr.c b/fx2lib/lib/interrupts/ibn_isr.c
+index 0f38871a..aa0a7523 100644
+--- a/fx2lib/lib/interrupts/ibn_isr.c
++++ b/fx2lib/lib/interrupts/ibn_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ibn_isr() __interrupt IBN_ISR {}
++void ibn_isr() __interrupt(IBN_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/sof_isr.c b/fx2lib/lib/interrupts/sof_isr.c
+index 49bf5081..64a409c4 100644
+--- a/fx2lib/lib/interrupts/sof_isr.c
++++ b/fx2lib/lib/interrupts/sof_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void sof_isr() __interrupt SOF_ISR {}
++void sof_isr() __interrupt(SOF_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/spare_isr.c b/fx2lib/lib/interrupts/spare_isr.c
+index 965b2818..3b81fd20 100644
+--- a/fx2lib/lib/interrupts/spare_isr.c
++++ b/fx2lib/lib/interrupts/spare_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void spare_isr() __interrupt RESERVED_ISR {}
++void spare_isr() __interrupt(RESERVED_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/sudav_isr.c b/fx2lib/lib/interrupts/sudav_isr.c
+index 7660e115..4d36b59a 100644
+--- a/fx2lib/lib/interrupts/sudav_isr.c
++++ b/fx2lib/lib/interrupts/sudav_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void sudav_isr() __interrupt SUDAV_ISR {}
++void sudav_isr() __interrupt(SUDAV_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/suspend_isr.c b/fx2lib/lib/interrupts/suspend_isr.c
+index 4b2f1aa2..cf08b28a 100644
+--- a/fx2lib/lib/interrupts/suspend_isr.c
++++ b/fx2lib/lib/interrupts/suspend_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void suspend_isr() __interrupt SUSPEND_ISR {}
++void suspend_isr() __interrupt(SUSPEND_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/sutok_isr.c b/fx2lib/lib/interrupts/sutok_isr.c
+index 05330799..8c7368d2 100644
+--- a/fx2lib/lib/interrupts/sutok_isr.c
++++ b/fx2lib/lib/interrupts/sutok_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void sutok_isr() __interrupt SUTOK_ISR {}
++void sutok_isr() __interrupt(SUTOK_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/usbreset_isr.c b/fx2lib/lib/interrupts/usbreset_isr.c
+index 7f2ed72d..8888eede 100644
+--- a/fx2lib/lib/interrupts/usbreset_isr.c
++++ b/fx2lib/lib/interrupts/usbreset_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void usbreset_isr() __interrupt USBRESET_ISR {}
++void usbreset_isr() __interrupt(USBRESET_ISR) {}
+
diff --git a/misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch b/misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch
new file mode 100644
index 0000000000..402ec85b64
--- /dev/null
+++ b/misc/sigrok-firmware-fx2lafw/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch
@@ -0,0 +1,108 @@
+From: Matthew Cengia <redacted>
+Date: Tue, 15 Aug 2023 00:39:32 +0000 (+1000)
+Subject: fx2lafw: Update __interrupt syntax for sdcc>=4.2.3
+X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=3e08500d22f87f69941b65cf8b8c1b85f9b41173
+
+fx2lafw: Update __interrupt syntax for sdcc>=4.2.3
+
+The SDCC user manual https://sdcc.sourceforge.net/doc/sdccman.pdf
+section 1.5 "Compatibility with previous versions" on page 11 states:
+
+> In 4.2.3, support for non-parenthesized arguments to __using and
+> __interrupt was dropped.
+
+Adjust the sigrok fx2lafw application source to unbreak compilation with
+more recent SDCC versions.
+---
+
+diff --git a/fx2lafw.c b/fx2lafw.c
+index 1035713d..42129219 100644
+--- a/fx2lafw.c
++++ b/fx2lafw.c
+@@ -191,14 +191,14 @@ BOOL handle_set_configuration(BYTE cfg)
+ return (cfg == 1) ? TRUE : FALSE;
+ }
+
+-void sudav_isr(void) __interrupt SUDAV_ISR
++void sudav_isr(void) __interrupt(SUDAV_ISR)
+ {
+ got_sud = TRUE;
+ CLEAR_SUDAV();
+ }
+
+ /* IN BULK NAK - the host started requesting data. */
+-void ibn_isr(void) __interrupt IBN_ISR
++void ibn_isr(void) __interrupt(IBN_ISR)
+ {
+ /*
+ * If the IBN interrupt is not disabled, clearing
+@@ -229,19 +229,19 @@ void ibn_isr(void) __interrupt IBN_ISR
+ SYNCDELAY();
+ }
+
+-void usbreset_isr(void) __interrupt USBRESET_ISR
++void usbreset_isr(void) __interrupt(USBRESET_ISR)
+ {
+ handle_hispeed(FALSE);
+ CLEAR_USBRESET();
+ }
+
+-void hispeed_isr(void) __interrupt HISPEED_ISR
++void hispeed_isr(void) __interrupt(HISPEED_ISR)
+ {
+ handle_hispeed(TRUE);
+ CLEAR_HISPEED();
+ }
+
+-void timer2_isr(void) __interrupt TF2_ISR
++void timer2_isr(void) __interrupt(TF2_ISR)
+ {
+ /* Blink LED during acquisition, keep it on otherwise. */
+ if (gpif_acquiring == RUNNING) {
+diff --git a/include/scope.inc b/include/scope.inc
+index 96422f1b..c6990853 100644
+--- a/include/scope.inc
++++ b/include/scope.inc
+@@ -43,36 +43,36 @@ static volatile __bit dosuspend = FALSE;
+ extern __code BYTE highspd_dscr;
+ extern __code BYTE fullspd_dscr;
+
+-void resume_isr(void) __interrupt RESUME_ISR
++void resume_isr(void) __interrupt(RESUME_ISR)
+ {
+ CLEAR_RESUME();
+ }
+
+-void sudav_isr(void) __interrupt SUDAV_ISR
++void sudav_isr(void) __interrupt(SUDAV_ISR)
+ {
+ dosud = TRUE;
+ CLEAR_SUDAV();
+ }
+
+-void usbreset_isr(void) __interrupt USBRESET_ISR
++void usbreset_isr(void) __interrupt(USBRESET_ISR)
+ {
+ handle_hispeed(FALSE);
+ CLEAR_USBRESET();
+ }
+
+-void hispeed_isr(void) __interrupt HISPEED_ISR
++void hispeed_isr(void) __interrupt(HISPEED_ISR)
+ {
+ handle_hispeed(TRUE);
+ CLEAR_HISPEED();
+ }
+
+-void suspend_isr(void) __interrupt SUSPEND_ISR
++void suspend_isr(void) __interrupt(SUSPEND_ISR)
+ {
+ dosuspend = TRUE;
+ CLEAR_SUSPEND();
+ }
+
+-void timer2_isr(void) __interrupt TF2_ISR
++void timer2_isr(void) __interrupt(TF2_ISR)
+ {
+ /* Toggle the probe calibration pin, only accurate up to ca. 8MHz. */
+ TOGGLE_CALIBRATION_PIN();
diff --git a/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch b/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch
new file mode 100644
index 0000000000..a591d310b9
--- /dev/null
+++ b/misc/sigrok-firmware-fx2lafw/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch
@@ -0,0 +1,300 @@
+From: Matthew Cengia <redacted>
+Date: Tue, 15 Aug 2023 00:35:45 +0000 (+1000)
+Subject: fx2lafw: Update __at syntax for sdcc>=4.2.3
+X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=96b0b476522c3f93a47ff8f479ec08105ba6a2a5
+
+fx2lafw: Update __at syntax for sdcc>=4.2.3
+
+The SDCC user manual https://sdcc.sourceforge.net/doc/sdccman.pdf
+section 1.5 "Compatibility with previous versions" on page 12 states:
+
+> In 4.2.3, support for non-parenthesized arguments to __at that are
+> not constants was dropped.
+
+Adjust the sigrok fx2lafw application source to unbreak compilation with
+more recent SDCC versions.
+---
+
+diff --git a/fx2lib/include/fx2regs.h b/fx2lib/include/fx2regs.h
+index 0645fe36..6ae3339d 100644
+--- a/fx2lib/include/fx2regs.h
++++ b/fx2lib/include/fx2regs.h
+@@ -266,14 +266,14 @@ __xdata __at 0xE50D volatile BYTE GPCR2; ///< Chip Features
+
+ __sfr __at 0x80 IOA;
+ /* IOA */
+- __sbit __at 0x80 + 0 PA0;
+- __sbit __at 0x80 + 1 PA1;
+- __sbit __at 0x80 + 2 PA2;
+- __sbit __at 0x80 + 3 PA3;
+- __sbit __at 0x80 + 4 PA4;
+- __sbit __at 0x80 + 5 PA5;
+- __sbit __at 0x80 + 6 PA6;
+- __sbit __at 0x80 + 7 PA7;
++ __sbit __at (0x80+0) PA0;
++ __sbit __at (0x80+1) PA1;
++ __sbit __at (0x80+2) PA2;
++ __sbit __at (0x80+3) PA3;
++ __sbit __at (0x80+4) PA4;
++ __sbit __at (0x80+5) PA5;
++ __sbit __at (0x80+6) PA6;
++ __sbit __at (0x80+7) PA7;
+ __sfr __at 0x81 SP;
+ __sfr __at 0x82 DPL;
+ __sfr __at 0x83 DPH;
+@@ -283,14 +283,14 @@ __sfr __at 0x86 DPS;
+ __sfr __at 0x87 PCON;
+ __sfr __at 0x88 TCON;
+ /* TCON */
+- __sbit __at 0x88+0 IT0;
+- __sbit __at 0x88+1 IE0;
+- __sbit __at 0x88+2 IT1;
+- __sbit __at 0x88+3 IE1;
+- __sbit __at 0x88+4 TR0;
+- __sbit __at 0x88+5 TF0;
+- __sbit __at 0x88+6 TR1;
+- __sbit __at 0x88+7 TF1;
++ __sbit __at (0x88+0) IT0;
++ __sbit __at (0x88+1) IE0;
++ __sbit __at (0x88+2) IT1;
++ __sbit __at (0x88+3) IE1;
++ __sbit __at (0x88+4) TR0;
++ __sbit __at (0x88+5) TF0;
++ __sbit __at (0x88+6) TR1;
++ __sbit __at (0x88+7) TF1;
+ __sfr __at 0x89 TMOD;
+ __sfr __at 0x8A TL0;
+ __sfr __at 0x8B TL1;
+@@ -299,28 +299,28 @@ __sfr __at 0x8D TH1;
+ __sfr __at 0x8E CKCON;
+ __sfr __at 0x90 IOB;
+ /* IOB */
+- __sbit __at 0x90 + 0 PB0;
+- __sbit __at 0x90 + 1 PB1;
+- __sbit __at 0x90 + 2 PB2;
+- __sbit __at 0x90 + 3 PB3;
+- __sbit __at 0x90 + 4 PB4;
+- __sbit __at 0x90 + 5 PB5;
+- __sbit __at 0x90 + 6 PB6;
+- __sbit __at 0x90 + 7 PB7;
++ __sbit __at (0x90+0) PB0;
++ __sbit __at (0x90+1) PB1;
++ __sbit __at (0x90+2) PB2;
++ __sbit __at (0x90+3) PB3;
++ __sbit __at (0x90+4) PB4;
++ __sbit __at (0x90+5) PB5;
++ __sbit __at (0x90+6) PB6;
++ __sbit __at (0x90+7) PB7;
+ __sfr __at 0x91 EXIF;
+
+ //__sfr __at 0x92 MPAGE;
+ __sfr __at 0x92 _XPAGE; // same as MPAGE for pdata __sfr access w/ sdcc
+ __sfr __at 0x98 SCON0;
+ /* SCON0 */
+- __sbit __at 0x98+0 RI;
+- __sbit __at 0x98+1 TI;
+- __sbit __at 0x98+2 RB8;
+- __sbit __at 0x98+3 TB8;
+- __sbit __at 0x98+4 REN;
+- __sbit __at 0x98+5 SM2;
+- __sbit __at 0x98+6 SM1;
+- __sbit __at 0x98+7 SM0;
++ __sbit __at (0x98+0) RI;
++ __sbit __at (0x98+1) TI;
++ __sbit __at (0x98+2) RB8;
++ __sbit __at (0x98+3) TB8;
++ __sbit __at (0x98+4) REN;
++ __sbit __at (0x98+5) SM2;
++ __sbit __at (0x98+6) SM1;
++ __sbit __at (0x98+7) SM0;
+ __sfr __at 0x99 SBUF0;
+
+ __sfr __at 0x9A AUTOPTRH1;
+@@ -330,27 +330,27 @@ __sfr __at 0x9E AUTOPTRL2;
+
+ __sfr __at 0xA0 IOC;
+ /* IOC */
+- __sbit __at 0xA0 + 0 PC0;
+- __sbit __at 0xA0 + 1 PC1;
+- __sbit __at 0xA0 + 2 PC2;
+- __sbit __at 0xA0 + 3 PC3;
+- __sbit __at 0xA0 + 4 PC4;
+- __sbit __at 0xA0 + 5 PC5;
+- __sbit __at 0xA0 + 6 PC6;
+- __sbit __at 0xA0 + 7 PC7;
++ __sbit __at (0xA0+0) PC0;
++ __sbit __at (0xA0+1) PC1;
++ __sbit __at (0xA0+2) PC2;
++ __sbit __at (0xA0+3) PC3;
++ __sbit __at (0xA0+4) PC4;
++ __sbit __at (0xA0+5) PC5;
++ __sbit __at (0xA0+6) PC6;
++ __sbit __at (0xA0+7) PC7;
+ __sfr __at 0xA1 INT2CLR;
+ __sfr __at 0xA2 INT4CLR;
+
+ __sfr __at 0xA8 IE;
+ /* IE */
+- __sbit __at 0xA8+0 EX0;
+- __sbit __at 0xA8+1 ET0;
+- __sbit __at 0xA8+2 EX1;
+- __sbit __at 0xA8+3 ET1;
+- __sbit __at 0xA8+4 ES0;
+- __sbit __at 0xA8+5 ET2;
+- __sbit __at 0xA8+6 ES1;
+- __sbit __at 0xA8+7 EA;
++ __sbit __at (0xA8+0) EX0;
++ __sbit __at (0xA8+1) ET0;
++ __sbit __at (0xA8+2) EX1;
++ __sbit __at (0xA8+3) ET1;
++ __sbit __at (0xA8+4) ES0;
++ __sbit __at (0xA8+5) ET2;
++ __sbit __at (0xA8+6) ES1;
++ __sbit __at (0xA8+7) EA;
+
+ __sfr __at 0xAA EP2468STAT;
+ __sfr __at 0xAB EP24FIFOFLGS;
+@@ -358,14 +358,14 @@ __sfr __at 0xAC EP68FIFOFLGS;
+ __sfr __at 0xAF AUTOPTRSETUP;
+ __sfr __at 0xB0 IOD;
+ /* IOD */
+- __sbit __at 0xB0 + 0 PD0;
+- __sbit __at 0xB0 + 1 PD1;
+- __sbit __at 0xB0 + 2 PD2;
+- __sbit __at 0xB0 + 3 PD3;
+- __sbit __at 0xB0 + 4 PD4;
+- __sbit __at 0xB0 + 5 PD5;
+- __sbit __at 0xB0 + 6 PD6;
+- __sbit __at 0xB0 + 7 PD7;
++ __sbit __at (0xB0+0) PD0;
++ __sbit __at (0xB0+1) PD1;
++ __sbit __at (0xB0+2) PD2;
++ __sbit __at (0xB0+3) PD3;
++ __sbit __at (0xB0+4) PD4;
++ __sbit __at (0xB0+5) PD5;
++ __sbit __at (0xB0+6) PD6;
++ __sbit __at (0xB0+7) PD7;
+ __sfr __at 0xB1 IOE;
+ __sfr __at 0xB2 OEA;
+ __sfr __at 0xB3 OEB;
+@@ -375,13 +375,13 @@ __sfr __at 0xB6 OEE;
+
+ __sfr __at 0xB8 IP;
+ /* IP */
+- __sbit __at 0xB8+0 PX0;
+- __sbit __at 0xB8+1 PT0;
+- __sbit __at 0xB8+2 PX1;
+- __sbit __at 0xB8+3 PT1;
+- __sbit __at 0xB8+4 PS0;
+- __sbit __at 0xB8+5 PT2;
+- __sbit __at 0xB8+6 PS1;
++ __sbit __at (0xB8+0) PX0;
++ __sbit __at (0xB8+1) PT0;
++ __sbit __at (0xB8+2) PX1;
++ __sbit __at (0xB8+3) PT1;
++ __sbit __at (0xB8+4) PS0;
++ __sbit __at (0xB8+5) PT2;
++ __sbit __at (0xB8+6) PS1;
+
+ __sfr __at 0xBA EP01STAT;
+ __sfr __at 0xBB GPIFTRIG;
+@@ -392,61 +392,61 @@ __sfr __at 0xBF GPIFSGLDATLNOX;
+
+ __sfr __at 0xC0 SCON1;
+ /* SCON1 */
+- __sbit __at 0xC0+0 RI1;
+- __sbit __at 0xC0+1 TI1;
+- __sbit __at 0xC0+2 RB81;
+- __sbit __at 0xC0+3 TB81;
+- __sbit __at 0xC0+4 REN1;
+- __sbit __at 0xC0+5 SM21;
+- __sbit __at 0xC0+6 SM11;
+- __sbit __at 0xC0+7 SM01;
++ __sbit __at (0xC0+0) RI1;
++ __sbit __at (0xC0+1) TI1;
++ __sbit __at (0xC0+2) RB81;
++ __sbit __at (0xC0+3) TB81;
++ __sbit __at (0xC0+4) REN1;
++ __sbit __at (0xC0+5) SM21;
++ __sbit __at (0xC0+6) SM11;
++ __sbit __at (0xC0+7) SM01;
+ __sfr __at 0xC1 SBUF1;
+ __sfr __at 0xC8 T2CON;
+ /* T2CON */
+- __sbit __at 0xC8+0 CP_RL2;
+- __sbit __at 0xC8+1 C_T2;
+- __sbit __at 0xC8+2 TR2;
+- __sbit __at 0xC8+3 EXEN2;
+- __sbit __at 0xC8+4 TCLK;
+- __sbit __at 0xC8+5 RCLK;
+- __sbit __at 0xC8+6 EXF2;
+- __sbit __at 0xC8+7 TF2;
++ __sbit __at (0xC8+0) CP_RL2;
++ __sbit __at (0xC8+1) C_T2;
++ __sbit __at (0xC8+2) TR2;
++ __sbit __at (0xC8+3) EXEN2;
++ __sbit __at (0xC8+4) TCLK;
++ __sbit __at (0xC8+5) RCLK;
++ __sbit __at (0xC8+6) EXF2;
++ __sbit __at (0xC8+7) TF2;
+ __sfr __at 0xCA RCAP2L;
+ __sfr __at 0xCB RCAP2H;
+ __sfr __at 0xCC TL2;
+ __sfr __at 0xCD TH2;
+ __sfr __at 0xD0 PSW;
+ /* PSW */
+- __sbit __at 0xD0+0 P;
+- __sbit __at 0xD0+1 FL;
+- __sbit __at 0xD0+2 OV;
+- __sbit __at 0xD0+3 RS0;
+- __sbit __at 0xD0+4 RS1;
+- __sbit __at 0xD0+5 F0;
+- __sbit __at 0xD0+6 AC;
+- __sbit __at 0xD0+7 CY;
++ __sbit __at (0xD0+0) P;
++ __sbit __at (0xD0+1) FL;
++ __sbit __at (0xD0+2) OV;
++ __sbit __at (0xD0+3) RS0;
++ __sbit __at (0xD0+4) RS1;
++ __sbit __at (0xD0+5) F0;
++ __sbit __at (0xD0+6) AC;
++ __sbit __at (0xD0+7) CY;
+ __sfr __at 0xD8 EICON; // Was WDCON in DS80C320; Bit Values differ from Reg320
+ /* EICON */
+- __sbit __at 0xD8+3 INT6;
+- __sbit __at 0xD8+4 RESI;
+- __sbit __at 0xD8+5 ERESI;
+- __sbit __at 0xD8+7 SMOD1;
++ __sbit __at (0xD8+3) INT6;
++ __sbit __at (0xD8+4) RESI;
++ __sbit __at (0xD8+5) ERESI;
++ __sbit __at (0xD8+7) SMOD1;
+ __sfr __at 0xE0 ACC;
+ __sfr __at 0xE8 EIE; // EIE Bit Values differ from Reg320
+ /* EIE */
+- __sbit __at 0xE8+0 EUSB;
+- __sbit __at 0xE8+1 EI2C;
+- __sbit __at 0xE8+2 EIEX4;
+- __sbit __at 0xE8+3 EIEX5;
+- __sbit __at 0xE8+4 EIEX6;
++ __sbit __at (0xE8+0) EUSB;
++ __sbit __at (0xE8+1) EI2C;
++ __sbit __at (0xE8+2) EIEX4;
++ __sbit __at (0xE8+3) EIEX5;
++ __sbit __at (0xE8+4) EIEX6;
+ __sfr __at 0xF0 B;
+ __sfr __at 0xF8 EIP; // EIP Bit Values differ from Reg320
+ /* EIP */
+- __sbit __at 0xF8+0 PUSB;
+- __sbit __at 0xF8+1 PI2C;
+- __sbit __at 0xF8+2 EIPX4;
+- __sbit __at 0xF8+3 EIPX5;
+- __sbit __at 0xF8+4 EIPX6;
++ __sbit __at (0xF8+0) PUSB;
++ __sbit __at (0xF8+1) PI2C;
++ __sbit __at (0xF8+2) EIPX4;
++ __sbit __at (0xF8+3) EIPX5;
++ __sbit __at (0xF8+4) EIPX6;
+
+
+ /* CPU Control & Status Register (CPUCS) */
diff --git a/misc/sigrok-firmware-fx2lafw/patches/04-fx2lib_fix_SDCC_warning_283.patch b/misc/sigrok-firmware-fx2lafw/patches/04-fx2lib_fix_SDCC_warning_283.patch
new file mode 100644
index 0000000000..7b6968a095
--- /dev/null
+++ b/misc/sigrok-firmware-fx2lafw/patches/04-fx2lib_fix_SDCC_warning_283.patch
@@ -0,0 +1,686 @@
+From: Steve Markgraf <redacted>
+Date: Wed, 17 Jan 2024 19:18:34 +0000 (+0100)
+Subject: fx2lib: fix SDCC warning 283
+X-Git-Url: http://sigrok.org/gitweb/?p=sigrok-firmware-fx2lafw.git;a=commitdiff_plain;h=bb3c6dfdb3f95bf529ed95dcc5fb3610e4473673
+
+fx2lib: fix SDCC warning 283
+
+This fixes the following warnings that appear with
+SDCC >= 4.3.0:
+
+"warning 283: function declarator with no prototype"
+---
+
+diff --git a/fx2lib/include/autovector.h b/fx2lib/include/autovector.h
+index 38f80fcd..ecbeb411 100644
+--- a/fx2lib/include/autovector.h
++++ b/fx2lib/include/autovector.h
+@@ -172,49 +172,49 @@ typedef enum {
+ // you must include the predef of these in the file with your main
+ // so lets just define them here
+
+-void sudav_isr() __interrupt(SUDAV_ISR);
+-void sof_isr() __interrupt(SOF_ISR);
+-void sutok_isr() __interrupt(SUTOK_ISR);
+-void suspend_isr() __interrupt(SUSPEND_ISR);
+-void usbreset_isr() __interrupt(USBRESET_ISR);
+-void hispeed_isr() __interrupt(HISPEED_ISR);
+-void ep0ack_isr() __interrupt(EP0ACK_ISR);
+-void ep0in_isr() __interrupt(EP0IN_ISR);
+-void ep0out_isr() __interrupt(EP0OUT_ISR);
+-void ep1in_isr() __interrupt(EP1IN_ISR);
+-void ep1out_isr() __interrupt(EP1OUT_ISR);
+-void ep2_isr() __interrupt(EP2_ISR);
+-void ep4_isr() __interrupt(EP4_ISR);
+-void ep6_isr() __interrupt(EP6_ISR);
+-void ep8_isr() __interrupt(EP8_ISR);
+-void ibn_isr() __interrupt(IBN_ISR);
+-void ep0ping_isr() __interrupt(EP0PING_ISR);
+-void ep1ping_isr() __interrupt(EP1PING_ISR);
+-void ep2ping_isr() __interrupt(EP2PING_ISR);
+-void ep4ping_isr() __interrupt(EP4PING_ISR);
+-void ep6ping_isr() __interrupt(EP6PING_ISR);
+-void ep8ping_isr() __interrupt(EP8PING_ISR);
+-void errlimit_isr() __interrupt(ERRLIMIT_ISR);
+-void ep2isoerr_isr() __interrupt(EP2ISOERR_ISR);
+-void ep4isoerr_isr() __interrupt(EP4ISOERR_ISR);
+-void ep6isoerr_isr() __interrupt(EP6ISOERR_ISR);
+-void ep8isoerr_isr() __interrupt(EP8ISOERR_ISR);
+-void spare_isr() __interrupt(RESERVED_ISR); // not used
++void sudav_isr(void) __interrupt(SUDAV_ISR);
++void sof_isr(void) __interrupt(SOF_ISR);
++void sutok_isr(void) __interrupt(SUTOK_ISR);
++void suspend_isr(void) __interrupt(SUSPEND_ISR);
++void usbreset_isr(void) __interrupt(USBRESET_ISR);
++void hispeed_isr(void) __interrupt(HISPEED_ISR);
++void ep0ack_isr(void) __interrupt(EP0ACK_ISR);
++void ep0in_isr(void) __interrupt(EP0IN_ISR);
++void ep0out_isr(void) __interrupt(EP0OUT_ISR);
++void ep1in_isr(void) __interrupt(EP1IN_ISR);
++void ep1out_isr(void) __interrupt(EP1OUT_ISR);
++void ep2_isr(void) __interrupt(EP2_ISR);
++void ep4_isr(void) __interrupt(EP4_ISR);
++void ep6_isr(void) __interrupt(EP6_ISR);
++void ep8_isr(void) __interrupt(EP8_ISR);
++void ibn_isr(void) __interrupt(IBN_ISR);
++void ep0ping_isr(void) __interrupt(EP0PING_ISR);
++void ep1ping_isr(void) __interrupt(EP1PING_ISR);
++void ep2ping_isr(void) __interrupt(EP2PING_ISR);
++void ep4ping_isr(void) __interrupt(EP4PING_ISR);
++void ep6ping_isr(void) __interrupt(EP6PING_ISR);
++void ep8ping_isr(void) __interrupt(EP8PING_ISR);
++void errlimit_isr(void) __interrupt(ERRLIMIT_ISR);
++void ep2isoerr_isr(void) __interrupt(EP2ISOERR_ISR);
++void ep4isoerr_isr(void) __interrupt(EP4ISOERR_ISR);
++void ep6isoerr_isr(void) __interrupt(EP6ISOERR_ISR);
++void ep8isoerr_isr(void) __interrupt(EP8ISOERR_ISR);
++void spare_isr(void) __interrupt(RESERVED_ISR); // not used
+ // gpif ints
+-void ep2pf_isr() __interrupt(EP2PF_ISR);
+-void ep4pf_isr() __interrupt(EP4PF_ISR);
+-void ep6pf_isr() __interrupt(EP6PF_ISR);
+-void ep8pf_isr() __interrupt(EP8PF_ISR);
+-void ep2ef_isr() __interrupt(EP2EF_ISR);
+-void ep4ef_isr() __interrupt(EP4EF_ISR);
+-void ep6ef_isr() __interrupt(EP6EF_ISR);
+-void ep8ef_isr() __interrupt(EP8EF_ISR);
+-void ep2ff_isr() __interrupt(EP2FF_ISR);
+-void ep4ff_isr() __interrupt(EP4FF_ISR);
+-void ep6ff_isr() __interrupt(EP6FF_ISR);
+-void ep8ff_isr() __interrupt(EP8FF_ISR);
+-void gpifdone_isr() __interrupt(GPIFDONE_ISR);
+-void gpifwf_isr() __interrupt(GPIFWF_ISR);
++void ep2pf_isr(void) __interrupt(EP2PF_ISR);
++void ep4pf_isr(void) __interrupt(EP4PF_ISR);
++void ep6pf_isr(void) __interrupt(EP6PF_ISR);
++void ep8pf_isr(void) __interrupt(EP8PF_ISR);
++void ep2ef_isr(void) __interrupt(EP2EF_ISR);
++void ep4ef_isr(void) __interrupt(EP4EF_ISR);
++void ep6ef_isr(void) __interrupt(EP6EF_ISR);
++void ep8ef_isr(void) __interrupt(EP8EF_ISR);
++void ep2ff_isr(void) __interrupt(EP2FF_ISR);
++void ep4ff_isr(void) __interrupt(EP4FF_ISR);
++void ep6ff_isr(void) __interrupt(EP6FF_ISR);
++void ep8ff_isr(void) __interrupt(EP8FF_ISR);
++void gpifdone_isr(void) __interrupt(GPIFDONE_ISR);
++void gpifwf_isr(void) __interrupt(GPIFWF_ISR);
+
+ #endif
+
+diff --git a/fx2lib/include/serial.h b/fx2lib/include/serial.h
+index 7c5935eb..c83959c4 100644
+--- a/fx2lib/include/serial.h
++++ b/fx2lib/include/serial.h
+@@ -51,4 +51,4 @@ void sio0_init( WORD baud_rate ) __critical ; // baud_rate max should be 57600 s
+ Just use one or the other. (This makes terminal echo easy)
+ **/
+ void putchar(char c);
+-char getchar();
++char getchar(void);
+diff --git a/fx2lib/include/setupdat.h b/fx2lib/include/setupdat.h
+index 5dba882a..fc9e40c6 100644
+--- a/fx2lib/include/setupdat.h
++++ b/fx2lib/include/setupdat.h
+@@ -148,7 +148,7 @@ __xdata BYTE* ep_addr(BYTE ep);
+ You can also use the usbjt and enable the sudav isr
+ and call the function from withing the sudav isr routine
+ */
+-void handle_setupdata();
++void handle_setupdata(void);
+
+
+ /**
+diff --git a/fx2lib/lib/interrupts/ep0ack_isr.c b/fx2lib/lib/interrupts/ep0ack_isr.c
+index d216717d..547e0bfc 100644
+--- a/fx2lib/lib/interrupts/ep0ack_isr.c
++++ b/fx2lib/lib/interrupts/ep0ack_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0ack_isr() __interrupt(EP0ACK_ISR) {}
++void ep0ack_isr(void) __interrupt(EP0ACK_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep0in_isr.c b/fx2lib/lib/interrupts/ep0in_isr.c
+index f3d8990e..c55d0fbc 100644
+--- a/fx2lib/lib/interrupts/ep0in_isr.c
++++ b/fx2lib/lib/interrupts/ep0in_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0in_isr() __interrupt(EP0IN_ISR) {}
++void ep0in_isr(void) __interrupt(EP0IN_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep0out_isr.c b/fx2lib/lib/interrupts/ep0out_isr.c
+index a5acedb7..a93cd77c 100644
+--- a/fx2lib/lib/interrupts/ep0out_isr.c
++++ b/fx2lib/lib/interrupts/ep0out_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0out_isr() __interrupt(EP0OUT_ISR) {}
++void ep0out_isr(void) __interrupt(EP0OUT_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep0ping_isr.c b/fx2lib/lib/interrupts/ep0ping_isr.c
+index 7b1ee929..218b7528 100644
+--- a/fx2lib/lib/interrupts/ep0ping_isr.c
++++ b/fx2lib/lib/interrupts/ep0ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep0ping_isr() __interrupt(EP0PING_ISR) {}
++void ep0ping_isr(void) __interrupt(EP0PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep1in_isr.c b/fx2lib/lib/interrupts/ep1in_isr.c
+index b666fcb3..4197bd54 100644
+--- a/fx2lib/lib/interrupts/ep1in_isr.c
++++ b/fx2lib/lib/interrupts/ep1in_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep1in_isr() __interrupt(EP1IN_ISR) {}
++void ep1in_isr(void) __interrupt(EP1IN_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep1out_isr.c b/fx2lib/lib/interrupts/ep1out_isr.c
+index 6c87dc20..8e19ca01 100644
+--- a/fx2lib/lib/interrupts/ep1out_isr.c
++++ b/fx2lib/lib/interrupts/ep1out_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep1out_isr() __interrupt(EP1OUT_ISR) {}
++void ep1out_isr(void) __interrupt(EP1OUT_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep1ping_isr.c b/fx2lib/lib/interrupts/ep1ping_isr.c
+index c32d437c..62849214 100644
+--- a/fx2lib/lib/interrupts/ep1ping_isr.c
++++ b/fx2lib/lib/interrupts/ep1ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep1ping_isr() __interrupt(EP1PING_ISR) {}
++void ep1ping_isr(void) __interrupt(EP1PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep2_isr.c b/fx2lib/lib/interrupts/ep2_isr.c
+index 4de637a3..4596b3ce 100644
+--- a/fx2lib/lib/interrupts/ep2_isr.c
++++ b/fx2lib/lib/interrupts/ep2_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2_isr() __interrupt(EP2_ISR) {}
++void ep2_isr(void) __interrupt(EP2_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep2ef_isr.c b/fx2lib/lib/interrupts/ep2ef_isr.c
+index 46f3f87a..a88f1571 100644
+--- a/fx2lib/lib/interrupts/ep2ef_isr.c
++++ b/fx2lib/lib/interrupts/ep2ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2ef_isr() __interrupt(EP2EF_ISR){}
++void ep2ef_isr(void) __interrupt(EP2EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep2ff_isr.c b/fx2lib/lib/interrupts/ep2ff_isr.c
+index 400e4803..1c073fbd 100644
+--- a/fx2lib/lib/interrupts/ep2ff_isr.c
++++ b/fx2lib/lib/interrupts/ep2ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2ff_isr() __interrupt(EP2FF_ISR){}
++void ep2ff_isr(void) __interrupt(EP2FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep2isoerr_isr.c b/fx2lib/lib/interrupts/ep2isoerr_isr.c
+index d0ca4a89..7b121a51 100644
+--- a/fx2lib/lib/interrupts/ep2isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep2isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2isoerr_isr() __interrupt(EP2ISOERR_ISR) {}
++void ep2isoerr_isr(void) __interrupt(EP2ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep2pf_isr.c b/fx2lib/lib/interrupts/ep2pf_isr.c
+index 9bd8e9aa..4aa71d33 100644
+--- a/fx2lib/lib/interrupts/ep2pf_isr.c
++++ b/fx2lib/lib/interrupts/ep2pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2pf_isr() __interrupt(EP2PF_ISR){}
++void ep2pf_isr(void) __interrupt(EP2PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep2ping_isr.c b/fx2lib/lib/interrupts/ep2ping_isr.c
+index dad1e953..336616cd 100644
+--- a/fx2lib/lib/interrupts/ep2ping_isr.c
++++ b/fx2lib/lib/interrupts/ep2ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep2ping_isr() __interrupt(EP2PING_ISR) {}
++void ep2ping_isr(void) __interrupt(EP2PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep4_isr.c b/fx2lib/lib/interrupts/ep4_isr.c
+index 5affac9a..19beb727 100644
+--- a/fx2lib/lib/interrupts/ep4_isr.c
++++ b/fx2lib/lib/interrupts/ep4_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4_isr() __interrupt(EP4_ISR) {}
++void ep4_isr(void) __interrupt(EP4_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep4ef_isr.c b/fx2lib/lib/interrupts/ep4ef_isr.c
+index 4a0cff1a..77c5576b 100644
+--- a/fx2lib/lib/interrupts/ep4ef_isr.c
++++ b/fx2lib/lib/interrupts/ep4ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4ef_isr() __interrupt(EP4EF_ISR){}
++void ep4ef_isr(void) __interrupt(EP4EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep4ff_isr.c b/fx2lib/lib/interrupts/ep4ff_isr.c
+index 3278da2d..cbe0b686 100644
+--- a/fx2lib/lib/interrupts/ep4ff_isr.c
++++ b/fx2lib/lib/interrupts/ep4ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4ff_isr() __interrupt(EP4FF_ISR){}
++void ep4ff_isr(void) __interrupt(EP4FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep4isoerr_isr.c b/fx2lib/lib/interrupts/ep4isoerr_isr.c
+index dcd7ff90..d198f3b8 100644
+--- a/fx2lib/lib/interrupts/ep4isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep4isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4isoerr_isr() __interrupt(EP4ISOERR_ISR) {}
++void ep4isoerr_isr(void) __interrupt(EP4ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep4pf_isr.c b/fx2lib/lib/interrupts/ep4pf_isr.c
+index 7bbe9f02..14ec7e5b 100644
+--- a/fx2lib/lib/interrupts/ep4pf_isr.c
++++ b/fx2lib/lib/interrupts/ep4pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4pf_isr() __interrupt(EP4PF_ISR){}
++void ep4pf_isr(void) __interrupt(EP4PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep4ping_isr.c b/fx2lib/lib/interrupts/ep4ping_isr.c
+index 8d226856..47de3721 100644
+--- a/fx2lib/lib/interrupts/ep4ping_isr.c
++++ b/fx2lib/lib/interrupts/ep4ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep4ping_isr() __interrupt(EP4PING_ISR) {}
++void ep4ping_isr(void) __interrupt(EP4PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep6_isr.c b/fx2lib/lib/interrupts/ep6_isr.c
+index 630f9b26..61801f2f 100644
+--- a/fx2lib/lib/interrupts/ep6_isr.c
++++ b/fx2lib/lib/interrupts/ep6_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6_isr() __interrupt(EP6_ISR) {}
++void ep6_isr(void) __interrupt(EP6_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep6ef_isr.c b/fx2lib/lib/interrupts/ep6ef_isr.c
+index e9ba6d54..28b2db39 100644
+--- a/fx2lib/lib/interrupts/ep6ef_isr.c
++++ b/fx2lib/lib/interrupts/ep6ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6ef_isr() __interrupt(EP6EF_ISR){}
++void ep6ef_isr(void) __interrupt(EP6EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep6ff_isr.c b/fx2lib/lib/interrupts/ep6ff_isr.c
+index 011fe871..051b6e29 100644
+--- a/fx2lib/lib/interrupts/ep6ff_isr.c
++++ b/fx2lib/lib/interrupts/ep6ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6ff_isr() __interrupt(EP6FF_ISR){}
++void ep6ff_isr(void) __interrupt(EP6FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep6isoerr_isr.c b/fx2lib/lib/interrupts/ep6isoerr_isr.c
+index 8c005777..efae2cfd 100644
+--- a/fx2lib/lib/interrupts/ep6isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep6isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6isoerr_isr() __interrupt(EP6ISOERR_ISR) {}
++void ep6isoerr_isr(void) __interrupt(EP6ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep6pf_isr.c b/fx2lib/lib/interrupts/ep6pf_isr.c
+index 52f6d738..dee40231 100644
+--- a/fx2lib/lib/interrupts/ep6pf_isr.c
++++ b/fx2lib/lib/interrupts/ep6pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6pf_isr() __interrupt(EP6PF_ISR){}
++void ep6pf_isr(void) __interrupt(EP6PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep6ping_isr.c b/fx2lib/lib/interrupts/ep6ping_isr.c
+index 5430f209..9ed855f7 100644
+--- a/fx2lib/lib/interrupts/ep6ping_isr.c
++++ b/fx2lib/lib/interrupts/ep6ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep6ping_isr() __interrupt(EP6PING_ISR) {}
++void ep6ping_isr(void) __interrupt(EP6PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep8_isr.c b/fx2lib/lib/interrupts/ep8_isr.c
+index d415a3ec..8ebce9b8 100644
+--- a/fx2lib/lib/interrupts/ep8_isr.c
++++ b/fx2lib/lib/interrupts/ep8_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8_isr() __interrupt(EP8_ISR) {}
++void ep8_isr(void) __interrupt(EP8_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep8ef_isr.c b/fx2lib/lib/interrupts/ep8ef_isr.c
+index d04d2376..508f49b9 100644
+--- a/fx2lib/lib/interrupts/ep8ef_isr.c
++++ b/fx2lib/lib/interrupts/ep8ef_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8ef_isr() __interrupt(EP8EF_ISR){}
++void ep8ef_isr(void) __interrupt(EP8EF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep8ff_isr.c b/fx2lib/lib/interrupts/ep8ff_isr.c
+index d1e5fcd7..88811d7d 100644
+--- a/fx2lib/lib/interrupts/ep8ff_isr.c
++++ b/fx2lib/lib/interrupts/ep8ff_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8ff_isr() __interrupt(EP8FF_ISR){}
++void ep8ff_isr(void) __interrupt(EP8FF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep8isoerr_isr.c b/fx2lib/lib/interrupts/ep8isoerr_isr.c
+index a7e8e0f9..fa5f54c5 100644
+--- a/fx2lib/lib/interrupts/ep8isoerr_isr.c
++++ b/fx2lib/lib/interrupts/ep8isoerr_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8isoerr_isr() __interrupt(EP8ISOERR_ISR) {}
++void ep8isoerr_isr(void) __interrupt(EP8ISOERR_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ep8pf_isr.c b/fx2lib/lib/interrupts/ep8pf_isr.c
+index 53dcdf27..245fd343 100644
+--- a/fx2lib/lib/interrupts/ep8pf_isr.c
++++ b/fx2lib/lib/interrupts/ep8pf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8pf_isr() __interrupt(EP8PF_ISR){}
++void ep8pf_isr(void) __interrupt(EP8PF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/ep8ping_isr.c b/fx2lib/lib/interrupts/ep8ping_isr.c
+index 5cf05dc7..56965e6a 100644
+--- a/fx2lib/lib/interrupts/ep8ping_isr.c
++++ b/fx2lib/lib/interrupts/ep8ping_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ep8ping_isr() __interrupt(EP8PING_ISR) {}
++void ep8ping_isr(void) __interrupt(EP8PING_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/errlimit_isr.c b/fx2lib/lib/interrupts/errlimit_isr.c
+index cf4e1f61..921b1def 100644
+--- a/fx2lib/lib/interrupts/errlimit_isr.c
++++ b/fx2lib/lib/interrupts/errlimit_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void errlimit_isr() __interrupt(ERRLIMIT_ISR) {}
++void errlimit_isr(void) __interrupt(ERRLIMIT_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/gpifdone_isr.c b/fx2lib/lib/interrupts/gpifdone_isr.c
+index ee5ce1f6..03f0bb5f 100644
+--- a/fx2lib/lib/interrupts/gpifdone_isr.c
++++ b/fx2lib/lib/interrupts/gpifdone_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void gpifdone_isr() __interrupt(GPIFDONE_ISR){}
++void gpifdone_isr(void) __interrupt(GPIFDONE_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/gpifwf_isr.c b/fx2lib/lib/interrupts/gpifwf_isr.c
+index e9941541..b220a9fe 100644
+--- a/fx2lib/lib/interrupts/gpifwf_isr.c
++++ b/fx2lib/lib/interrupts/gpifwf_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void gpifwf_isr() __interrupt(GPIFWF_ISR){}
++void gpifwf_isr(void) __interrupt(GPIFWF_ISR){}
+
+diff --git a/fx2lib/lib/interrupts/hispeed_isr.c b/fx2lib/lib/interrupts/hispeed_isr.c
+index 9daabc12..dcbd0e4b 100644
+--- a/fx2lib/lib/interrupts/hispeed_isr.c
++++ b/fx2lib/lib/interrupts/hispeed_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void hispeed_isr() __interrupt(HISPEED_ISR) {}
++void hispeed_isr(void) __interrupt(HISPEED_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/ibn_isr.c b/fx2lib/lib/interrupts/ibn_isr.c
+index aa0a7523..97fb05e8 100644
+--- a/fx2lib/lib/interrupts/ibn_isr.c
++++ b/fx2lib/lib/interrupts/ibn_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void ibn_isr() __interrupt(IBN_ISR) {}
++void ibn_isr(void) __interrupt(IBN_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/sof_isr.c b/fx2lib/lib/interrupts/sof_isr.c
+index 64a409c4..8b0b8654 100644
+--- a/fx2lib/lib/interrupts/sof_isr.c
++++ b/fx2lib/lib/interrupts/sof_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void sof_isr() __interrupt(SOF_ISR) {}
++void sof_isr(void) __interrupt(SOF_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/spare_isr.c b/fx2lib/lib/interrupts/spare_isr.c
+index 3b81fd20..effb7d02 100644
+--- a/fx2lib/lib/interrupts/spare_isr.c
++++ b/fx2lib/lib/interrupts/spare_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void spare_isr() __interrupt(RESERVED_ISR) {}
++void spare_isr(void) __interrupt(RESERVED_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/sudav_isr.c b/fx2lib/lib/interrupts/sudav_isr.c
+index 4d36b59a..d5ed73bf 100644
+--- a/fx2lib/lib/interrupts/sudav_isr.c
++++ b/fx2lib/lib/interrupts/sudav_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void sudav_isr() __interrupt(SUDAV_ISR) {}
++void sudav_isr(void) __interrupt(SUDAV_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/suspend_isr.c b/fx2lib/lib/interrupts/suspend_isr.c
+index cf08b28a..1f471179 100644
+--- a/fx2lib/lib/interrupts/suspend_isr.c
++++ b/fx2lib/lib/interrupts/suspend_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void suspend_isr() __interrupt(SUSPEND_ISR) {}
++void suspend_isr(void) __interrupt(SUSPEND_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/sutok_isr.c b/fx2lib/lib/interrupts/sutok_isr.c
+index 8c7368d2..9c424c67 100644
+--- a/fx2lib/lib/interrupts/sutok_isr.c
++++ b/fx2lib/lib/interrupts/sutok_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void sutok_isr() __interrupt(SUTOK_ISR) {}
++void sutok_isr(void) __interrupt(SUTOK_ISR) {}
+
+diff --git a/fx2lib/lib/interrupts/usbreset_isr.c b/fx2lib/lib/interrupts/usbreset_isr.c
+index 8888eede..5a91e080 100644
+--- a/fx2lib/lib/interrupts/usbreset_isr.c
++++ b/fx2lib/lib/interrupts/usbreset_isr.c
+@@ -17,5 +17,5 @@
+
+ #include <autovector.h>
+
+-void usbreset_isr() __interrupt(USBRESET_ISR) {}
++void usbreset_isr(void) __interrupt(USBRESET_ISR) {}
+
+diff --git a/fx2lib/lib/serial.c b/fx2lib/lib/serial.c
+index 3114d580..60eb0187 100644
+--- a/fx2lib/lib/serial.c
++++ b/fx2lib/lib/serial.c
+@@ -68,7 +68,7 @@ void sio0_init( WORD baud_rate ) __critical { // baud_rate max should be 57600 s
+
+ }
+
+-char getchar() {
++char getchar(void) {
+ char c;
+ while (!RI)
+ ;
+diff --git a/fx2lib/lib/setupdat.c b/fx2lib/lib/setupdat.c
+index 878f7b94..a1eb41d1 100644
+--- a/fx2lib/lib/setupdat.c
++++ b/fx2lib/lib/setupdat.c
+@@ -34,7 +34,7 @@ extern BOOL handle_vendorcommand(BYTE cmd);
+ extern BOOL handle_set_configuration(BYTE cfg);
+ extern BOOL handle_get_interface(BYTE ifc, BYTE* alt_ifc);
+ extern BOOL handle_set_interface(BYTE ifc,BYTE alt_ifc);
+-extern BYTE handle_get_configuration();
++extern BYTE handle_get_configuration(void);
+ extern BOOL handle_set_configuration(BYTE cfg);
+ extern void handle_reset_ep(BYTE ep);
+
+@@ -44,16 +44,16 @@ extern void handle_reset_ep(BYTE ep);
+
+
+ // GET_STATUS,
+-BOOL handle_get_status();
++BOOL handle_get_status(void);
+ // CLEAR_FEATURE,
+-BOOL handle_clear_feature();
++BOOL handle_clear_feature(void);
+ // 0x02 is reserved
+ // SET_FEATURE=0x03,
+-BOOL handle_set_feature();
++BOOL handle_set_feature(void);
+ // 0x04 is reserved
+ // SET_ADDRESS=0x05, // this is handled by EZ-USB core unless RENUM=0
+ // GET_DESCRIPTOR,
+-void handle_get_descriptor();
++void handle_get_descriptor(void);
+ // SET_DESCRIPTOR,
+ // GET_CONFIGURATION, // handled by callback
+ // SET_CONFIGURATION, // handled by callback
+@@ -68,7 +68,7 @@ void handle_get_descriptor();
+ handshake
+ */
+
+-void handle_setupdata() {
++void handle_setupdata(void) {
+ //printf ( "Handle setupdat: %02x\n", SETUPDAT[1] );
+
+ switch ( SETUPDAT[1] ) {
+@@ -156,7 +156,7 @@ __xdata BYTE* ep_addr(BYTE ep) { // bit 8 of ep_num is the direction
+ volatile BOOL self_powered=FALSE;
+ volatile BOOL remote_wakeup_allowed=FALSE;
+
+-BOOL handle_get_status() {
++BOOL handle_get_status(void) {
+
+ switch ( SETUPDAT[0] ) {
+
+@@ -201,7 +201,7 @@ BOOL handle_get_status() {
+ #define GF_DEVICE 0
+ #define GF_ENDPOINT 2
+
+-BOOL handle_clear_feature() {
++BOOL handle_clear_feature(void) {
+ //printf ( "Clear Feature\n" );
+ switch ( SETUPDAT[0] ) {
+ case GF_DEVICE:
+@@ -227,7 +227,7 @@ BOOL handle_clear_feature() {
+ return TRUE;
+ }
+
+-BOOL handle_set_feature() {
++BOOL handle_set_feature(void) {
+ printf ( "Set Feature %02x\n", SETUPDAT[0] );
+ switch ( SETUPDAT[0] ) {
+ case GF_DEVICE:
+@@ -299,7 +299,7 @@ void handle_hispeed(BOOL highspeed) {
+ * String
+ * Other-Speed
+ **/
+-void handle_get_descriptor() {
++void handle_get_descriptor(void) {
+ //printf ( "Get Descriptor\n" );
+
+ switch ( SETUPDAT[3] ) {
diff --git a/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.SlackBuild b/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.SlackBuild
index 72169f9aa7..04547b8cec 100644
--- a/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.SlackBuild
+++ b/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for sigrok fx2lafw firmware
-# Copyright 2019 Andrzej Telszewski, Szczecin
+# Copyright 2024 Andrzej Telszewski, Koszalin
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -32,9 +32,6 @@ PKGTYPE=${PKGTYPE:-tgz}
ARCH=noarch
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -44,27 +41,31 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-set -e
+set -eu
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
+
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
+
chown -R root:root .
-find -L . \
- \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
- \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+chmod -R a-st,u+rwX,go-w+rX .
+
+patch -p1 < $CWD/patches/00-fx2lafw__silence_integer_overflow_compile_warnings.patch
+patch -p1 < $CWD/patches/01-fx2lib__Update___interrupt_syntax_for_sdcc_4.2.3.patch
+patch -p1 < $CWD/patches/02-fx2lafw__Update___interrupt_syntax_for_sdcc_4.2.3.patch
+patch -p1 < $CWD/patches/03-fx2lafw__Update___at_syntax_for_sdcc_4.2.3.patch
+patch -p1 < $CWD/patches/04-fx2lib_fix_SDCC_warning_283.patch
./configure --prefix=/usr
make
make install DESTDIR=$PKG
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a AUTHORS ChangeLog COPYING{,.LESSER} INSTALL NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a AUTHORS ChangeLog COPYING{,.LESSER} NEWS README $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
diff --git a/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.info b/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.info
index 45cf878407..ee2f6c3ab2 100644
--- a/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.info
+++ b/misc/sigrok-firmware-fx2lafw/sigrok-firmware-fx2lafw.info
@@ -7,4 +7,4 @@ DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="sdcc"
MAINTAINER="Andrzej Telszewski"
-EMAIL="atelszewski@gmail.com"
+EMAIL="andrzej@telszewski.com"
diff --git a/misc/torrentinfo/torrentinfo.info b/misc/torrentinfo/torrentinfo.info
index ee09e6ad08..93b5cd76b2 100644
--- a/misc/torrentinfo/torrentinfo.info
+++ b/misc/torrentinfo/torrentinfo.info
@@ -1,7 +1,7 @@
PRGNAM="torrentinfo"
VERSION="1.8.6"
HOMEPAGE="https://github.com/Fuuzetsu/torrentinfo"
-DOWNLOAD="https://github.com/Fuuzetsu/torrentinfo/archive/v1.8.6.tar.gz"
+DOWNLOAD="https://github.com/Fuuzetsu/torrentinfo/archive/v1.8.6/torrentinfo-1.8.6.tar.gz"
MD5SUM="1fbc54b39cc091db1db77f7574a702b3"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/misc/wl-clipboard/wl-clipboard.info b/misc/wl-clipboard/wl-clipboard.info
index 3be43eb130..fe8b02e624 100644
--- a/misc/wl-clipboard/wl-clipboard.info
+++ b/misc/wl-clipboard/wl-clipboard.info
@@ -1,7 +1,7 @@
PRGNAM="wl-clipboard"
VERSION="2.1.0"
HOMEPAGE="https://github.com/bugaevc/wl-clipboard"
-DOWNLOAD="https://github.com/bugaevc/wl-clipboard/archive/refs/tags/v2.1.0/wl-clipboard-2.1.0.tar.gz"
+DOWNLOAD="https://github.com/bugaevc/wl-clipboard/archive/v2.1.0/wl-clipboard-2.1.0.tar.gz"
MD5SUM="e39e266bca009d00a9ab99c29eb41ebc"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
diff --git a/misc/xcb-imdkit/xcb-imdkit.SlackBuild b/misc/xcb-imdkit/xcb-imdkit.SlackBuild
index 8d20bde9b4..c5365ebbef 100644
--- a/misc/xcb-imdkit/xcb-imdkit.SlackBuild
+++ b/misc/xcb-imdkit/xcb-imdkit.SlackBuild
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=xcb-imdkit
-VERSION=${VERSION:-1.0.5}
+VERSION=${VERSION:-1.0.7}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
diff --git a/misc/xcb-imdkit/xcb-imdkit.info b/misc/xcb-imdkit/xcb-imdkit.info
index 0cd5fb0a92..a7e9a757cb 100644
--- a/misc/xcb-imdkit/xcb-imdkit.info
+++ b/misc/xcb-imdkit/xcb-imdkit.info
@@ -1,10 +1,10 @@
PRGNAM="xcb-imdkit"
-VERSION="1.0.5"
+VERSION="1.0.7"
HOMEPAGE="https://github.com/fcitx/xcb-imdkit"
-DOWNLOAD="https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-1.0.5.tar.xz"
-MD5SUM="b57f98cfa3482d5cea86aef45e679c05"
+DOWNLOAD="https://download.fcitx-im.org/fcitx5/xcb-imdkit/xcb-imdkit-1.0.7.tar.xz"
+MD5SUM="e6b16dffa6fafd0e6980a122c9821167"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
MAINTAINER="ltlnx"
-EMAIL="ltlnx@gmx.com"
+EMAIL="ltlnx@disroot.org"