Index | Thread | Search

From:
Christian Weisgerber <naddy@mips.inka.de>
Subject:
Remove misc/brltty?
To:
ports@openbsd.org
Date:
Fri, 12 Jun 2026 18:45:53 +0200

Download raw body.

Thread
Is it time to remove misc/brltty (and misc/screen-shm)?

I'm not taking this lightly.  If you need a braille display, you
really need it.  But the brltty port hasn't been updated in over
twenty years, despite an active upstream.  Everytime something
broke, we fixed it, added a workaround, even kept a separate port
with an obsolete version of screen around.  Below is another set
of fixes to actual bugs that have kept LLVM 22 from compiling it.

I very much doubt that we have any users of brltty.

-----------------------------------------------
commit 489a1f071d5f6891a5cae480666c2dbf63dfb49b (mystuff)
from: Christian Weisgerber <naddy@mips.inka.de>
date: Fri Jun 12 16:43:45 2026 UTC
 
 misc/brltty: make C types coherent to appease llvm22
 
diff 6549986ddeeb2d6099213e050720776d4421d835 489a1f071d5f6891a5cae480666c2dbf63dfb49b
commit - 6549986ddeeb2d6099213e050720776d4421d835
commit + 489a1f071d5f6891a5cae480666c2dbf63dfb49b
blob - 99ed662a7ccaad4b7d57dd1488b94a74d26f3f3d
blob + 309f2187d3896caaf0ad6f18a1a27415ec77645f
--- misc/brltty/Makefile
+++ misc/brltty/Makefile
@@ -1,7 +1,7 @@
 COMMENT=	access software for a blind person using a braille terminal
 
 DISTNAME=	brltty-3.6
-REVISION=	7
+REVISION=	8
 CATEGORIES=	misc
 HOMEPAGE=	https://brltty.app
 SITES=		https://brltty.app/archive/
blob - /dev/null
blob + 912d73fc5eb03bd41bf1ec764e73f6de9287e920 (mode 644)
--- /dev/null
+++ misc/brltty/patches/patch-Drivers_Papenmeier_braille_c
@@ -0,0 +1,48 @@
+Index: Drivers/Papenmeier/braille.c
+--- Drivers/Papenmeier/braille.c.orig
++++ Drivers/Papenmeier/braille.c
+@@ -299,7 +299,7 @@ typedef struct {
+   void (*closePort) (void);
+   void (*flushPort) (BrailleDisplay *brl);
+   int (*awaitInput) (int milliseconds);
+-  int (*readBytes) (void *buffer, int *offset, int length, int timeout);
++  int (*readBytes) (void *buffer, size_t *offset, int length, int timeout);
+   int (*writeBytes) (const void *buffer, int length);
+ } InputOutputOperations;
+ 
+@@ -350,7 +350,7 @@ awaitSerialInput (int milliseconds) {
+ }
+ 
+ static int
+-readSerialBytes (void *buffer, int *offset, int length, int timeout) {
++readSerialBytes (void *buffer, size_t *offset, int length, int timeout) {
+   return serialReadChunk(serialDevice, buffer, offset, length, 0, timeout);
+ }
+ 
+@@ -409,7 +409,7 @@ awaitUsbInput (int milliseconds) {
+ }
+ 
+ static int
+-readUsbBytes (void *buffer, int *offset, int length, int timeout) {
++readUsbBytes (void *buffer, size_t *offset, int length, int timeout) {
+   int count = usbReapInput(usb->device, usb->definition.inputEndpoint, buffer+*offset, length, 
+                            (*offset? timeout: 0), timeout);
+   if (count == -1) return 0;
+@@ -550,7 +550,7 @@ resetTerminal1 (BrailleDisplay *brl) {
+ #define RBF_ETX 1
+ #define RBF_RESET 2
+ static int
+-readBytes1 (BrailleDisplay *brl, unsigned char *buffer, int offset, int count, int flags) {
++readBytes1 (BrailleDisplay *brl, unsigned char *buffer, size_t offset, int count, int flags) {
+   if (io->readBytes(buffer, &offset, count, 1000)) {
+     if (!(flags & RBF_ETX)) return 1;
+     if (*(buffer+offset-1) == cETX) return 1;
+@@ -910,7 +910,7 @@ static int refreshRequired2;
+ static int
+ readPacket2 (BrailleDisplay *brl, Packet2 *packet) {
+   char buffer[0X203];
+-  int offset = 0;
++  size_t offset = 0;
+   int size;
+   int identity;
+ 
blob - /dev/null
blob + 8fcd5e02dc391d6a976fbff4f1f4ab684f6053cc (mode 644)
--- /dev/null
+++ misc/brltty/patches/patch-Drivers_VisioBraille_braille_c
@@ -0,0 +1,12 @@
+Index: Drivers/VisioBraille/braille.c
+--- Drivers/VisioBraille/braille.c.orig
++++ Drivers/VisioBraille/braille.c
+@@ -109,7 +109,7 @@ static ssize_t brl_writePacket(BrailleDisplay *brl, co
+ /* "+" packets are silently discarded, since they are only disturbing us */
+ static ssize_t brl_readPacket(BrailleDisplay *brl, unsigned char *p, size_t size) 
+ {
+-  int tmp = 0;
++  size_t tmp = 0;
+   static unsigned char ack = 04;
+   static unsigned char nack = 05;
+   static int apacket = 0;
blob - /dev/null
blob + f8d0d2a966569ea4cd2c18d6665036717317e742 (mode 644)
--- /dev/null
+++ misc/brltty/patches/patch-Drivers_Voyager_braille_c
@@ -0,0 +1,12 @@
+Index: Drivers/Voyager/braille.c
+--- Drivers/Voyager/braille.c.orig
++++ Drivers/Voyager/braille.c
+@@ -108,7 +108,7 @@ writeSerialPacket (unsigned char code, unsigned char *
+ 
+ static int
+ readSerialPacket (char *buffer, int size) {
+-  int offset = 0;
++  size_t offset = 0;
+   int escape = 0;
+   int length = -1;
+ 

-- 
Christian "naddy" Weisgerber                          naddy@mips.inka.de