From nobody Thu Oct 09 15:42:28 2025 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4cjDfF4rBQz6Bdyp for ; Thu, 09 Oct 2025 15:42:45 +0000 (UTC) (envelope-from asiciliano.freebsd@gmail.com) Received: from mail-yw1-x1135.google.com (mail-yw1-x1135.google.com [IPv6:2607:f8b0:4864:20::1135]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "WR4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4cjDfD6n2rz3vxS for ; Thu, 09 Oct 2025 15:42:44 +0000 (UTC) (envelope-from asiciliano.freebsd@gmail.com) Authentication-Results: mx1.freebsd.org; none Received: by mail-yw1-x1135.google.com with SMTP id 00721157ae682-780fe73cb41so4891367b3.2 for ; Thu, 09 Oct 2025 08:42:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1760024559; x=1760629359; darn=freebsd.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=QCsPE90D+bZmwkGmiQvbyHcq7CrGzkuzLOeoHpPqa6k=; b=FTfeeLAY6zbI73SNO0anV2+OzBZvnBWiqrtgv/atTEF+UeTzqjoNhTmFVY2dDOWNJw qIMzLz+sXMH0780fCN1ov3hWVDeeg18jZsZUTXuZIsUZcJThWTG3TRl3yBNt16gTDuEj 6cCiBJX8y0O51hYH48eVtiq6L3Hpzk3Q1ZJgPEv+U2H3VKbJ7/oRMyIWcxkYHQZJ0NbE iJGsXB2fE3GPZs6X0u1QT7+iwe6chZKhnP7pNBs5SbF54tc3Wt/uat1QUkqmDRClin2M ckb82k2i4es4E5qrZ4r5PAkcV2GlMDYHWdqjEOD+J4qwfOkxc/CHV7J6dAIRrDDKsaNi cjhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1760024559; x=1760629359; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=QCsPE90D+bZmwkGmiQvbyHcq7CrGzkuzLOeoHpPqa6k=; b=bDRbQ2YjWlGhY9pFwtiAF5JmuFXkqiOhMvdoJKO/tP5QnjRyLq8h80FGHn5gIDbDIP wDoElp1uVGD3TNqIfbeiU7CEqr5yCiSIRb6WhV1KReD1VvUS2uz7b2iyd96H7bv2ynuH ERSwoxtTED3BQNtl+69sGOnLbDZBigQc3c1lpoF9QrvhDL9QW4WTLkywX9s0Cd/Fv8fn u2oOv7HwWlhLiIwIPlPUWc7kFUyyaei1kLsqeACHhFMrVY/B8p0nL2f8kQe+6TtAhYwm lkAeYORFHnmOOyTDbRK2ECUfduHuzshRyav7c+Nw7slkuJ6KofxNj+sNBNEhURUgdtJ4 sN/Q== X-Forwarded-Encrypted: i=1; AJvYcCWiH19OQw4hHFHTW+ZtY321liWQdF+NlBilJxNCF4lUUTjlF8nLZSgMb2enBF7NeXauM5M7ddQGA8NViOZubqngVER/cQ==@freebsd.org X-Gm-Message-State: AOJu0YxT4N0CJqirm9cbAw9aPvpXE4OFhNgAldZq/gpy3EwRR9E6sq70 awlI0UesmTweWjWjr9DmP/9nktLekTn0tI5F936dnvI0ABG/NSVGJ1cZidN/PlilV0jiDgteDrO e19EiuvxEP/q/Ia0jKdrfR3eEWNSfGDFGmLn0 X-Gm-Gg: ASbGncvTeRhpTFAZ3qerXmwOjUezydWIWMzmC/zMozV9TyJDjoWE4i9b6rG57LiaaZH +MGkFk5eCFZi/b46dX93JyUozBSf1gyR0Qn8QZ8iZB/3liyZBg5YjecA40PJp1kV/t7/KaWOyrk bHQLyYHvawh5+xi3qcCR4Olg6tzVYnoAYnGGfFN4i0t23ep26hLshnd8oe2KZ14ulqUY4aJLOD2 JFa7hcmvT1s3rnlEBTJ3ZA7U4Dj3A== X-Google-Smtp-Source: AGHT+IHKVfqmKETu7bhYOwSxuOQrSNHfc2h6yULUZ4/v4yEuDsoyiLvAiTrwZMnJjgT16IRJxqN/boTy4jjQ8YZk03Y= X-Received: by 2002:a05:690e:2391:b0:635:4ecf:bdc6 with SMTP id 956f58d0204a3-63ccb93dec8mr4953998d50.40.1760024558768; Thu, 09 Oct 2025 08:42:38 -0700 (PDT) List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@FreeBSD.org MIME-Version: 1.0 References: <202510091541.599Ff7oF026380@gitrepo.freebsd.org> In-Reply-To: <202510091541.599Ff7oF026380@gitrepo.freebsd.org> From: Alfonso Siciliano Date: Thu, 9 Oct 2025 17:42:28 +0200 X-Gm-Features: AS18NWC5njiWTGCr7ZjwZ1517mEkeCf7I52s9yyuSp3kiuxlEjUg7WPcGlVgckg Message-ID: Subject: Re: git: 3e42d7194bdc - main - contrib/bsddialog: Import version 1.0.5 To: "Alfonso S. Siciliano" Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Content-Type: multipart/alternative; boundary="0000000000009f15e90640bba67d" X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; TAGGED_FROM(0.00)[]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Queue-Id: 4cjDfD6n2rz3vxS --0000000000009f15e90640bba67d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sorry for the delayed import. Some of these features were requested a few months ago. Requests for bar widgets haven't been implemented yet; please see below for details. At the moment, I'm working on projects that are completely unrelated to TUIs. I've also received some very discouraging comments about bsddialog in the past. That said, I cannot abandon bsddialog, as it's used by bsdinstall, tzsetup, vidfont, and other utilities. Moreover, I've received several requests to provide a Lua API. The current plan is as follows: 1. Import a new version soon, sponsored by Google as part of a Google Summer of Code project. 2. Release another version, sponsored by the FreeBSD Foundation, focusing on improving accessibility for visually impaired users. 3. Refactor bsddialog, since maintaining and extending the current codebase has become too difficult. It will likely be largely rewritten in Lua, and I hope to complete this by 2025, as the Lua version will be used in a personal installer primarily written in Lua. Feel free to submit a feature request (even via private email) if the feature is not already listed in "TODO & Ideas" https://gitlab.com/alfix/bsddialog#todo-and-ideas. Best, Alfonso On Thu, Oct 9, 2025 at 5:41=E2=80=AFPM Alfonso S. Siciliano wrote: > The branch main has been updated by asiciliano: > > URL: > https://cgit.FreeBSD.org/src/commit/?id=3D3e42d7194bdcd4fbfd781518258f919= d6ac803d3 > > commit 3e42d7194bdcd4fbfd781518258f919d6ac803d3 > Merge: a28b44ddc348 653f765f05b8 > Author: Alfonso S. Siciliano > AuthorDate: 2025-10-09 15:39:10 +0000 > Commit: Alfonso S. Siciliano > CommitDate: 2025-10-09 15:39:10 +0000 > > contrib/bsddialog: Import version 1.0.5 > > Version for change and feature requests. > > * Improve documentation for --alternate-screen and --normal-screen. > Request: https://bugs.freebsd.org/285459. (This PR is not about > bsddialog itself but is used as an example for an official FreeBSD > documentation request.) > > * Reduce the number of screen refreshes to improve performance over a > 115200 UART connection. > Request: https://gitlab.com/alfix/bsddialog/-/issues/8. > > * Change textbox buttons to return distinct values (previously always > returned OK). > Request: https://reviews.freebsd.org/D48668; already committed in > contrib/ 96a241a35905078bdc5d20bf25943cdb67758dea > > * Change forms navigation key behavior for ENTER and TAB. > Request: https://bugs.freebsd.org/287592. > > Refer to /usr/src/contrib/bsddialog/CHANGELOG to know more. > > PR: 287592 > Reported by: adrian > Sponsored by: The FreeBSD Foundation > > Merge commit '653f765f05b8c7e3908ae92e9bf61522a50cefc9' into YYY > > contrib/bsddialog/.gitignore | 1 + > contrib/bsddialog/CHANGELOG | 50 ++++++++++++++++++++- > contrib/bsddialog/LICENSE | 2 +- > contrib/bsddialog/Makefile | 13 +++++- > contrib/bsddialog/README.md | 5 +-- > contrib/bsddialog/examples_library/compile | 8 ++-- > contrib/bsddialog/examples_library/textbox.c | 38 ++++++++++++++++ > contrib/bsddialog/lib/GNUmakefile | 19 +++++++- > contrib/bsddialog/lib/Makefile | 21 ++++++++- > contrib/bsddialog/lib/barbox.c | 37 ++++++++-------- > contrib/bsddialog/lib/bsddialog.3 | 16 +++++-- > contrib/bsddialog/lib/bsddialog.h | 5 ++- > contrib/bsddialog/lib/bsddialog_theme.h | 2 +- > contrib/bsddialog/lib/datebox.c | 28 ++++++------ > contrib/bsddialog/lib/formbox.c | 48 ++++++++++++++------ > contrib/bsddialog/lib/lib_util.c | 3 +- > contrib/bsddialog/lib/lib_util.h | 4 +- > contrib/bsddialog/lib/libbsddialog.c | 14 +++++- > contrib/bsddialog/lib/menubox.c | 18 ++++---- > contrib/bsddialog/lib/messagebox.c | 16 +++---- > contrib/bsddialog/lib/textbox.c | 16 +++---- > contrib/bsddialog/lib/theme.c | 6 +-- > contrib/bsddialog/lib/timebox.c | 16 +++---- > contrib/bsddialog/utility/GNUmakefile | 11 ++++- > contrib/bsddialog/utility/Makefile | 11 ++++- > contrib/bsddialog/utility/bsddialog.1 | 21 ++++++--- > contrib/bsddialog/utility/bsddialog.c | 2 +- > contrib/bsddialog/utility/util.h | 2 +- > contrib/bsddialog/utility/util_builders.c | 66 > ++++++++++++++-------------- > contrib/bsddialog/utility/util_cli.c | 2 +- > contrib/bsddialog/utility/util_theme.c | 4 +- > 31 files changed, 353 insertions(+), 152 deletions(-) > > diff --cc contrib/bsddialog/.gitignore > index c8fc68ed8a0e,000000000000..c9613d477f7f > mode 100644,000000..100644 > --- a/contrib/bsddialog/.gitignore > +++ b/contrib/bsddialog/.gitignore > @@@ -1,26 -1,0 +1,27 @@@ > +bsddialog > +.depend* > +*.o > +*.so* > +*.a > +*.gz > +*.core > +*~ > +BSDDIALOG.geany > +BSDDIALOG.tags > +examples_library/calendar > +examples_library/checklist > +examples_library/datebox > +examples_library/form > +examples_library/gauge > +examples_library/infobox > +examples_library/menu > +examples_library/mixedgauge > +examples_library/mixedlist > +examples_library/msgbox > +examples_library/pause > +examples_library/radiolist > +examples_library/rangebox > ++examples_library/textbox > +examples_library/theme > +examples_library/timebox > +examples_library/yesno > diff --cc contrib/bsddialog/Makefile > index a6af8813a48e,000000000000..335b693470e6 > mode 100644,000000..100644 > --- a/contrib/bsddialog/Makefile > +++ b/contrib/bsddialog/Makefile > @@@ -1,38 -1,0 +1,47 @@@ > +# PUBLIC DOMAIN - NO WARRANTY, see: > +# > +# > +# Written in 2023 by Alfonso Sabato Siciliano > + > +OUTPUT =3D bsddialog > - export VERSION=3D1.0.4 > ++export VERSION=3D1.0.5 > +.CURDIR ?=3D ${CURDIR} > +LIBPATH =3D ${.CURDIR}/lib > +LIBBSDDIALOG =3D ${LIBPATH}/libbsddialog.so > +UTILITYPATH =3D ${.CURDIR}/utility > + > +RM=3D rm -f > +LN =3D ln -s -f > + > +### command-line options ### > +# FreeBSD port Makefile: 'MAKE_ARGS =3D -DNORPATH' > +NORPATH ?=3D > +export DISABLERPATH=3D${NORPATH} > +# Debug: `make -DDEBUG` or `gmake DEBUG=3D1` > +DEBUG ?=3D > +export ENABLEDEBUG=3D${DEBUG} > +################### > + > - all : ${OUTPUT} > ++all: ${OUTPUT} > ++ > ++install: all > ++ ${MAKE} -C ${LIBPATH} install > ++ ${MAKE} -C ${UTILITYPATH} install > ++ > ++uninstall: > ++ ${MAKE} -C ${UTILITYPATH} uninstall > ++ ${MAKE} -C ${LIBPATH} uninstall > + > +${OUTPUT}: ${LIBBSDDIALOG} > + ${MAKE} -C ${UTILITYPATH} LIBPATH=3D${LIBPATH} > + ${LN} ${UTILITYPATH}/${OUTPUT} ${.CURDIR}/${OUTPUT} > + > +${LIBBSDDIALOG}: > + ${MAKE} -C ${LIBPATH} > + > +clean: > + ${MAKE} -C ${LIBPATH} clean > + ${MAKE} -C ${UTILITYPATH} clean > + ${RM} ${OUTPUT} *.core > + > ++.PHONY: all install uninstall clean > diff --cc contrib/bsddialog/README.md > index 7b9b6cf8e84d,000000000000..5a25109775fe > mode 100644,000000..100644 > --- a/contrib/bsddialog/README.md > +++ b/contrib/bsddialog/README.md > @@@ -1,142 -1,0 +1,141 @@@ > - # BSDDialog 1.0.4 > ++# BSDDialog 1.0.5 > + > +This project provides **bsddialog** and **libbsddialog**, an utility > +and a library to build scripts and tools with TUI dialogs and widgets. > + > + > +## Demo > + > +[Screenshots]( > https://www.flickr.com/photos/alfonsosiciliano/albums/72157720215006074). > + > + > +## Getting Started > + > +FreeBSD and Linux: > + > +``` > +% git clone https://gitlab.com/alfix/bsddialog.git > +% cd bsddialog > +% make > +% ./bsddialog --msgbox "Hello World!" 8 20 > +``` > + > +Output: > + > +![screenshot](screenshot.png) > + > + > +## Utility > + > +**Dialogs:** > + > +--calendar, --checklist, --datebox, --form, --gauge, --infobox, > --inputbox, > +--menu, --mixedform, --mixedgauge, --msgbox, --passwordbox, > --passwordform, > +--pause, --radiolist, --rangebox, --textbox, --timebox, --treeview, > --yesno. > + > +**Manual** > + > + - [bsddialog(1)]( > https://alfonsosiciliano.gitlab.io/posts/2022-01-26-manual-bsddialog.html= ) > + > + > +**Examples**: > + > +``` > +% ./bsddialog --backtitle "TITLE" --title msgbox --msgbox "Hello World!= " > 5 30 > +% ./bsddialog --theme blackwhite --title msgbox --msgbox "Hello World!" > 5 30 > +% ./bsddialog --begin-y 2 --default-no --title yesno --yesno "Hello > World!" 5 30 > +% ./bsddialog --ascii-lines --pause "Hello World!" 8 50 10 > +% ./bsddialog --checklist "Space to select" 0 0 0 Name1 Desc1 off Name2 > Desc2 on > +% ./bsddialog --title yesno --hline "bsddialog" --yesno "Hello World!" = 5 > 25 > +% ./bsddialog --extra-button --help-button --yesno "Hello World!" 0 0 > +``` > + > +and [Examples]( > https://gitlab.com/alfix/bsddialog/-/tree/main/examples_utility) > +in the _Public Domain_ to build new projects: > +``` > +% sh ./examples_utility/calendar.sh > +% sh ./examples_utility/checklist.sh > +% sh ./examples_utility/datebox.sh > +% sh ./examples_utility/form.sh > +% sh ./examples_utility/gauge.sh > +% sh ./examples_utility/infobox.sh > +% sh ./examples_utility/inputbox.sh > +% sh ./examples_utility/menu.sh > +% sh ./examples_utility/mixedform.sh > +% sh ./examples_utility/mixedgauge.sh > +% sh ./examples_utility/msgbox.sh > +% sh ./examples_utility/passwordbox.sh > +% sh ./examples_utility/passwordform.sh > +% sh ./examples_utility/pause.sh > +% sh ./examples_utility/radiolist.sh > +% sh ./examples_utility/rangebox.sh > +% sh ./examples_utility/timebox.sh > +% sh ./examples_utility/yesno.sh > +``` > + > +## Library > + > +**API** > + > + - [bsddialog.h]( > https://gitlab.com/alfix/bsddialog/-/blob/main/lib/bsddialog.h) > + - [bsddialog\_theme.h]( > https://gitlab.com/alfix/bsddialog/-/blob/main/lib/bsddialog_theme.h) > + > + > +**Manual** > + > + - [bsddialog(3)]( > https://alfonsosiciliano.gitlab.io/posts/2022-01-15-manual-libbsddialog.h= tml > ) > + > + > +**Examples**: > + > +[Examples]( > https://gitlab.com/alfix/bsddialog/-/tree/main/examples_library) > +in the _Public Domain_ to build new projects: > +``` > +% cd examples_library > +% sh compile > +% ./calendar > +% ./checklist > +% ./datebox > +% ./form > +% ./gauge > +% ./infobox > +% ./menu > +% ./mixedgauge > +% ./mixedlist > +% ./msgbox > +% ./pause > +% ./radiolist > +% ./rangebox > +% ./theme > +% ./timebox > +% ./yesno > +``` > + > + > +## TODO and Ideas > + > + - menubar feature. > + - key callback. > + - Right-To-Left text. > + - some terminal does not hide the cursor, move it bottom-right before > to getch. > + - refactor backtitle: add WINDOW \*dialog.backtitle for multiline and > fix expanding screen. > + - refactor bottomdesc: add WINDOW \*dialog.bottomdesc to fix expandig > screen. > + - accessibility https://wiki.freebsd.org/Accessibility/Wishlist/Base. > + - add bool conf.menu.depthlines. > + - implement custom getopt\_long(). > + - refactor/redesign gauge(). > + - improve grey lines expanding terminal (maybe redrawwin() in > hide\_dialog()). > + - more restrictive strtol() and strtoul(). > + - implement global buttons handler. > + - doc: external tutorial, theming guide. > + - implement menutype.min\_on. > - - improve refresh at startup, avoid dialog refresh before drawing text= . > + - add debug API: bsddialog\_debug(y,x,refresh,"fmt",...). > + - add mouse support. > + - use alarm(2) for bsddialog\_pause. > + - delete form fieldlen constraint, hide or truncate long field in > little screens. > + - improve --inputbox autosizing, consider also input length. > + - fix --form "" 0 0 0 Label 1 0 Init 1 12 0 0 (with 0 editable field). > + - fix --mixedform "" 0 0 0 Label 1 0 Init 1 12 0 0 2 (with 0 editable > field). > + - add *text* customization to --hmsg *help-message* > + - check --passwordform *fieldlen* like --form and --mixedform. > - > ++ - add manuals to Makefiles installe and uninstall targets. > diff --cc contrib/bsddialog/examples_library/textbox.c > index 000000000000,2e76cbb97891..2e76cbb97891 > mode 000000,100644..100644 > --- a/contrib/bsddialog/examples_library/textbox.c > +++ b/contrib/bsddialog/examples_library/textbox.c > diff --cc contrib/bsddialog/lib/Makefile > index 252b33f79848,000000000000..c728541a9f7a > mode 100644,000000..100644 > --- a/contrib/bsddialog/lib/Makefile > +++ b/contrib/bsddialog/lib/Makefile > @@@ -1,44 -1,0 +1,63 @@@ > +# PUBLIC DOMAIN - NO WARRANTY, see: > +# > +# > +# Written in 2021 by Alfonso Sabato Siciliano > + > +LIBRARY =3D bsddialog > +LIBRARY_SO =3D lib${LIBRARY:=3D.so} > +LIBRARY_A =3D lib${LIBRARY:=3D.a} > +HEADERS =3D bsddialog.h bsddialog_theme.h bsddialog_progressview.h > +SOURCES =3D barbox.c datebox.c formbox.c libbsddialog.c lib_util.c \ > + menubox.c messagebox.c textbox.c theme.c timebox.c > +OBJECTS =3D ${SOURCES:.c=3D.o} > ++PREFIX =3D /usr/local > + > +.if defined(DEBUG) > +CFLAGS +=3D -g > +.endif > +CFLAGS +=3D -D_XOPEN_SOURCE_EXTENDED -fPIC -Wall -Wextra -std=3Dgnu99 \ > + -fstack-protector-strong > +LDFLAGS +=3D -fstack-protector-strong -shared -Wl,-x -Wl,--fatal-warnin= gs \ > + -Wl,--warn-shared-textrel -Wl,-soname,${LIBRARY_SO}.${VERSION} \ > + -L/usr/lib -lncursesw -ltinfow > + > +LN =3D ln -s -f > +RM =3D rm -f > + > - all : ${LIBRARY} > ++all: ${LIBRARY} > ++ > ++install: all > ++ ${INSTALL} -m 0644 bsddialog.h > ${DESTDIR}${PREFIX}/include/bsddialog.h > ++ ${INSTALL} -m 0644 bsddialog_progressview.h > ${DESTDIR}${PREFIX}/include/bsddialog_progressview.h > ++ ${INSTALL} -m 0644 bsddialog_theme.h > ${DESTDIR}${PREFIX}/include/bsddialog_theme.h > ++ ${INSTALL} -m 0644 ${LIBRARY_A} > ${DESTDIR}${PREFIX}/lib/${LIBRARY_A} > ++ ${INSTALL} -m 0755 ${LIBRARY_SO}.${VERSION} > ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSION} > ++ ${LN} ${LIBRARY_SO}.${VERSION} > ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO} > ++ > ++uninstall: > ++ ${RM} ${DESTDIR}${PREFIX}/include/bsddialog.h > ++ ${RM} ${DESTDIR}${PREFIX}/include/bsddialog_progressview.h > ++ ${RM} ${DESTDIR}${PREFIX}/include/bsddialog_theme.h > ++ ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_A} > ++ ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSION} > ++ ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO} > + > +${LIBRARY}: ${LIBRARY_SO} ${LIBRARY_A} > + > +${LIBRARY_SO}.${VERSION}: ${OBJECTS} > + ${CC} ${LDFLAGS} ${.ALLSRC} -o ${LIBRARY_SO}.${VERSION} > + > +${LIBRARY_SO}: ${LIBRARY_SO}.${VERSION} > + ${LN} ${LIBRARY_SO}.${VERSION} ${LIBRARY_SO} > + > +${LIBRARY_A}: ${OBJECTS} > + ${AR} cr ${.TARGET} ${OBJECTS} > + ${RANLIB} ${.TARGET} > + > +.c.o: > + ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET} > + > +clean: > + ${RM} ${LIBRARY_SO}* *.o *~ *.gz ${LIBRARY_A} > ++ > ++.PHONY: all install uninstall ${LIBRARY} clean > --0000000000009f15e90640bba67d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Sorry for the delayed import. Some of these features were = requested a
few months ago. Requests for bar widgets haven't been im= plemented yet;
please see below for details.

At the moment, I'= ;m working on projects that are completely unrelated to
TUIs. I've a= lso received some very discouraging comments about bsddialog
in the past= .

That said, I cannot abandon bsddialog, as it's used by bsdinst= all,
tzsetup, vidfont, and other utilities. Moreover, I've received = several
requests to provide a Lua API.

The current plan is as fol= lows:

1. Import a new version soon, sponsored by Google as part of a=
Google Summer of Code project.

2. Release another version, spons= ored by the FreeBSD Foundation,
focusing on improving accessibility for = visually impaired users.

3. Refactor bsddialog, since maintaining an= d extending the current
codebase has become too difficult. It will likel= y be largely rewritten
in Lua, and I hope to complete this by 2025, as t= he Lua version will be
used in a personal installer primarily written in= Lua.
Feel free to submit a feature request (even via private email) if = the
feature is not already listed in "TODO & Ideas"
https://gitlab.c= om/alfix/bsddialog#todo-and-ideas.

Best,
Alfonso

On Thu, Oct 9, 2025 at 5:41=E2=80=AFPM Alfonso S. Siciliano <asiciliano@freebsd.org> wrot= e:
The branch ma= in has been updated by asiciliano:

URL: https://cgit.= FreeBSD.org/src/commit/?id=3D3e42d7194bdcd4fbfd781518258f919d6ac803d3
commit 3e42d7194bdcd4fbfd781518258f919d6ac803d3
Merge: a28b44ddc348 653f765f05b8
Author:=C2=A0 =C2=A0 =C2=A0Alfonso S. Siciliano <asiciliano@FreeBSD.org&= gt;
AuthorDate: 2025-10-09 15:39:10 +0000
Commit:=C2=A0 =C2=A0 =C2=A0Alfonso S. Siciliano <asiciliano@FreeBSD.org&= gt;
CommitDate: 2025-10-09 15:39:10 +0000

=C2=A0 =C2=A0 contrib/bsddialog: Import version 1.0.5

=C2=A0 =C2=A0 Version for change and feature requests.

=C2=A0 =C2=A0 * Improve documentation for --alternate-screen and --normal-s= creen.
=C2=A0 =C2=A0 =C2=A0 Request: https://bugs.freebsd.org/285459. (T= his PR is not about
=C2=A0 =C2=A0 =C2=A0 bsddialog itself but is used as an example for an offi= cial FreeBSD
=C2=A0 =C2=A0 =C2=A0 documentation request.)

=C2=A0 =C2=A0 * Reduce the number of screen refreshes to improve performanc= e over a
=C2=A0 =C2=A0 =C2=A0 115200 UART connection.
=C2=A0 =C2=A0 =C2=A0 Request: https://gitlab.com/alfix/= bsddialog/-/issues/8.

=C2=A0 =C2=A0 * Change textbox buttons to return distinct values (previousl= y always
=C2=A0 =C2=A0 =C2=A0 returned OK).
=C2=A0 =C2=A0 =C2=A0 Request: https://reviews.freebsd.org/D48668; already committed in
=C2=A0 =C2=A0 =C2=A0 contrib/ 96a241a35905078bdc5d20bf25943cdb67758dea

=C2=A0 =C2=A0 * Change forms navigation key behavior for ENTER and TAB.
=C2=A0 =C2=A0 =C2=A0 Request:
https://bugs.freebsd.org/287592.
=C2=A0 =C2=A0 Refer to /usr/src/contrib/bsddialog/CHANGELOG to know more.
=C2=A0 =C2=A0 PR:=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0287592
=C2=A0 =C2=A0 Reported by:=C2=A0 =C2=A0 adrian
=C2=A0 =C2=A0 Sponsored by:=C2=A0 =C2=A0The FreeBSD Foundation

=C2=A0 =C2=A0 Merge commit '653f765f05b8c7e3908ae92e9bf61522a50cefc9= 9; into YYY

=C2=A0contrib/bsddialog/.gitignore=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0|=C2=A0 1 +
=C2=A0contrib/bsddialog/CHANGELOG=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 | 50 ++++++++++++++++++++-
=C2=A0contrib/bsddialog/LICENSE=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2=A0 2 +-
=C2=A0contrib/bsddialog/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0| 13 +++++-
=C2=A0contrib/bsddialog/README.md=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 |=C2=A0 5 +--
=C2=A0contrib/bsddialog/examples_library/compile=C2=A0 =C2=A0|=C2=A0 8 ++--=
=C2=A0contrib/bsddialog/examples_library/textbox.c | 38 ++++++++++++++++ =C2=A0contrib/bsddialog/lib/GNUmakefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 | 19 +++++++-
=C2=A0contrib/bsddialog/lib/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0| 21 ++++++++-
=C2=A0contrib/bsddialog/lib/barbox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0| 37 ++++++++--------
=C2=A0contrib/bsddialog/lib/bsddialog.3=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 | 16 +++++--
=C2=A0contrib/bsddialog/lib/bsddialog.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 |=C2=A0 5 ++-
=C2=A0contrib/bsddialog/lib/bsddialog_theme.h=C2=A0 =C2=A0 =C2=A0 |=C2=A0 2= +-
=C2=A0contrib/bsddialog/lib/datebox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | 28 ++++++------
=C2=A0contrib/bsddialog/lib/formbox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | 48 ++++++++++++++------
=C2=A0contrib/bsddialog/lib/lib_util.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 3 +-
=C2=A0contrib/bsddialog/lib/lib_util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 4 +-
=C2=A0contrib/bsddialog/lib/libbsddialog.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0| 14 +++++-
=C2=A0contrib/bsddialog/lib/menubox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | 18 ++++----
=C2=A0contrib/bsddialog/lib/messagebox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0| 16 +++----
=C2=A0contrib/bsddialog/lib/textbox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | 16 +++----
=C2=A0contrib/bsddialog/lib/theme.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 |=C2=A0 6 +--
=C2=A0contrib/bsddialog/lib/timebox.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 | 16 +++----
=C2=A0contrib/bsddialog/utility/GNUmakefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 | 11= ++++-
=C2=A0contrib/bsddialog/utility/Makefile=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0| 11 ++++-
=C2=A0contrib/bsddialog/utility/bsddialog.1=C2=A0 =C2=A0 =C2=A0 =C2=A0 | 21= ++++++---
=C2=A0contrib/bsddialog/utility/bsddialog.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 |=C2= =A0 2 +-
=C2=A0contrib/bsddialog/utility/util.h=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0|=C2=A0 2 +-
=C2=A0contrib/bsddialog/utility/util_builders.c=C2=A0 =C2=A0 | 66 +++++++++= +++++--------------
=C2=A0contrib/bsddialog/utility/util_cli.c=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0|=C2=A0 2 +-
=C2=A0contrib/bsddialog/utility/util_theme.c=C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2= =A0 4 +-
=C2=A031 files changed, 353 insertions(+), 152 deletions(-)

diff --cc contrib/bsddialog/.gitignore
index c8fc68ed8a0e,000000000000..c9613d477f7f
mode 100644,000000..100644
--- a/contrib/bsddialog/.gitignore
+++ b/contrib/bsddialog/.gitignore
@@@ -1,26 -1,0 +1,27 @@@
=C2=A0+bsddialog
=C2=A0+.depend*
=C2=A0+*.o
=C2=A0+*.so*
=C2=A0+*.a
=C2=A0+*.gz
=C2=A0+*.core
=C2=A0+*~
=C2=A0+BSDDIALOG.geany
=C2=A0+BSDDIALOG.tags
=C2=A0+examples_library/calendar
=C2=A0+examples_library/checklist
=C2=A0+examples_library/datebox
=C2=A0+examples_library/form
=C2=A0+examples_library/gauge
=C2=A0+examples_library/infobox
=C2=A0+examples_library/menu
=C2=A0+examples_library/mixedgauge
=C2=A0+examples_library/mixedlist
=C2=A0+examples_library/msgbox
=C2=A0+examples_library/pause
=C2=A0+examples_library/radiolist
=C2=A0+examples_library/rangebox
++examples_library/textbox
=C2=A0+examples_library/theme
=C2=A0+examples_library/timebox
=C2=A0+examples_library/yesno
diff --cc contrib/bsddialog/Makefile
index a6af8813a48e,000000000000..335b693470e6
mode 100644,000000..100644
--- a/contrib/bsddialog/Makefile
+++ b/contrib/bsddialog/Makefile
@@@ -1,38 -1,0 +1,47 @@@
=C2=A0+# PUBLIC DOMAIN - NO WARRANTY, see:
=C2=A0+#=C2=A0 =C2=A0 =C2=A0<http://creativecomm= ons.org/publicdomain/zero/1.0/>
=C2=A0+#
=C2=A0+# Written in 2023 by Alfonso Sabato Siciliano
=C2=A0+
=C2=A0+OUTPUT =3D bsddialog
- export VERSION=3D1.0.4
++export VERSION=3D1.0.5
=C2=A0+.CURDIR ?=3D ${CURDIR}
=C2=A0+LIBPATH =3D ${.CURDIR}/lib
=C2=A0+LIBBSDDIALOG =3D ${LIBPATH}/libbsddialog.so
=C2=A0+UTILITYPATH =3D ${.CURDIR}/utility
=C2=A0+
=C2=A0+RM=3D rm -f
=C2=A0+LN =3D ln -s -f
=C2=A0+
=C2=A0+### command-line options ###
=C2=A0+# FreeBSD port Makefile: 'MAKE_ARGS =3D -DNORPATH'
=C2=A0+NORPATH ?=3D
=C2=A0+export DISABLERPATH=3D${NORPATH}
=C2=A0+# Debug: `make -DDEBUG` or `gmake DEBUG=3D1`
=C2=A0+DEBUG ?=3D
=C2=A0+export ENABLEDEBUG=3D${DEBUG}
=C2=A0+###################
=C2=A0+
- all : ${OUTPUT}
++all: ${OUTPUT}
++
++install: all
++=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${LIBPATH} install
++=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${UTILITYPATH} install
++
++uninstall:
++=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${UTILITYPATH} uninstall
++=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${LIBPATH} uninstall
=C2=A0+
=C2=A0+${OUTPUT}: ${LIBBSDDIALOG}
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${UTILITYPATH} LIBPATH=3D${LIBPATH}<= br> =C2=A0+=C2=A0 =C2=A0 =C2=A0 ${LN} ${UTILITYPATH}/${OUTPUT} ${.CURDIR}/${OUT= PUT}
=C2=A0+
=C2=A0+${LIBBSDDIALOG}:
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${LIBPATH}
=C2=A0+
=C2=A0+clean:
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${LIBPATH} clean
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${MAKE} -C ${UTILITYPATH} clean
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${RM} ${OUTPUT} *.core
=C2=A0+
++.PHONY: all install uninstall clean
diff --cc contrib/bsddialog/README.md
index 7b9b6cf8e84d,000000000000..5a25109775fe
mode 100644,000000..100644
--- a/contrib/bsddialog/README.md
+++ b/contrib/bsddialog/README.md
@@@ -1,142 -1,0 +1,141 @@@
- # BSDDialog 1.0.4
++# BSDDialog 1.0.5
=C2=A0+
=C2=A0+This project provides **bsddialog** and **libbsddialog**, an utility=
=C2=A0+and a library to build scripts and tools with TUI dialogs and widget= s.
=C2=A0+
=C2=A0+
=C2=A0+## Demo
=C2=A0+
=C2=A0+[Screenshots](https://= www.flickr.com/photos/alfonsosiciliano/albums/72157720215006074).
=C2=A0+
=C2=A0+
=C2=A0+## Getting Started
=C2=A0+
=C2=A0+FreeBSD and Linux:
=C2=A0+
=C2=A0+```
=C2=A0+% git clone https://gitlab.com/alfix/bsddialog.git
=C2=A0+% cd bsddialog
=C2=A0+% make
=C2=A0+% ./bsddialog --msgbox "Hello World!" 8 20
=C2=A0+```
=C2=A0+
=C2=A0+Output:
=C2=A0+
=C2=A0+![screenshot](screenshot.png)
=C2=A0+
=C2=A0+
=C2=A0+## Utility
=C2=A0+
=C2=A0+**Dialogs:**
=C2=A0+
=C2=A0+--calendar, --checklist, --datebox, --form, --gauge, --infobox, --in= putbox,
=C2=A0+--menu, --mixedform, --mixedgauge, --msgbox, --passwordbox, --passwo= rdform,
=C2=A0+--pause, --radiolist, --rangebox, --textbox, --timebox, --treeview, = --yesno.
=C2=A0+
=C2=A0+**Manual**
=C2=A0+
=C2=A0+ - [bsddialog(1)](
ht= tps://alfonsosiciliano.gitlab.io/posts/2022-01-26-manual-bsddialog.html= )
=C2=A0+
=C2=A0+
=C2=A0+**Examples**:
=C2=A0+
=C2=A0+```
=C2=A0+% ./bsddialog --backtitle "TITLE" --title msgbox --msgbox = "Hello World!" 5 30
=C2=A0+% ./bsddialog --theme blackwhite --title msgbox --msgbox "Hello= World!" 5 30
=C2=A0+% ./bsddialog --begin-y 2 --default-no --title yesno --yesno "H= ello World!" 5 30
=C2=A0+% ./bsddialog --ascii-lines --pause "Hello World!" 8 50 10=
=C2=A0+% ./bsddialog --checklist "Space to select" 0 0 0 Name1 De= sc1 off Name2 Desc2 on
=C2=A0+% ./bsddialog --title yesno --hline "bsddialog" --yesno &q= uot;Hello World!" 5 25
=C2=A0+% ./bsddialog --extra-button --help-button --yesno "Hello World= !" 0 0
=C2=A0+```
=C2=A0+
=C2=A0+and [Examples](https://gitlab.= com/alfix/bsddialog/-/tree/main/examples_utility)
=C2=A0+in the _Public Domain_ to build new projects:
=C2=A0+```
=C2=A0+% sh ./examples_utility/calendar.sh
=C2=A0+% sh ./examples_utility/checklist.sh
=C2=A0+% sh ./examples_utility/datebox.sh
=C2=A0+% sh ./examples_utility/form.sh
=C2=A0+% sh ./examples_utility/gauge.sh
=C2=A0+% sh ./examples_utility/infobox.sh
=C2=A0+% sh ./examples_utility/inputbox.sh
=C2=A0+% sh ./examples_utility/menu.sh
=C2=A0+% sh ./examples_utility/mixedform.sh
=C2=A0+% sh ./examples_utility/mixedgauge.sh
=C2=A0+% sh ./examples_utility/msgbox.sh
=C2=A0+% sh ./examples_utility/passwordbox.sh
=C2=A0+% sh ./examples_utility/passwordform.sh
=C2=A0+% sh ./examples_utility/pause.sh
=C2=A0+% sh ./examples_utility/radiolist.sh
=C2=A0+% sh ./examples_utility/rangebox.sh
=C2=A0+% sh ./examples_utility/timebox.sh
=C2=A0+% sh ./examples_utility/yesno.sh
=C2=A0+```
=C2=A0+
=C2=A0+## Library
=C2=A0+
=C2=A0+**API**
=C2=A0+
=C2=A0+ - [bsddialog.h](https://gitlab= .com/alfix/bsddialog/-/blob/main/lib/bsddialog.h)
=C2=A0+ - [bsddialog\_theme.h](h= ttps://gitlab.com/alfix/bsddialog/-/blob/main/lib/bsddialog_theme.h) =C2=A0+
=C2=A0+
=C2=A0+**Manual**
=C2=A0+
=C2=A0+ - [bsddialog(3)](https://alfonsosiciliano.gitlab.io/posts/2022-01-15-manual-libbsddialog.ht= ml)
=C2=A0+
=C2=A0+
=C2=A0+**Examples**:
=C2=A0+
=C2=A0+[Examples](https://gitlab.com/= alfix/bsddialog/-/tree/main/examples_library)
=C2=A0+in the _Public Domain_ to build new projects:
=C2=A0+```
=C2=A0+% cd examples_library
=C2=A0+% sh compile
=C2=A0+% ./calendar
=C2=A0+% ./checklist
=C2=A0+% ./datebox
=C2=A0+% ./form
=C2=A0+% ./gauge
=C2=A0+% ./infobox
=C2=A0+% ./menu
=C2=A0+% ./mixedgauge
=C2=A0+% ./mixedlist
=C2=A0+% ./msgbox
=C2=A0+% ./pause
=C2=A0+% ./radiolist
=C2=A0+% ./rangebox
=C2=A0+% ./theme
=C2=A0+% ./timebox
=C2=A0+% ./yesno
=C2=A0+```
=C2=A0+
=C2=A0+
=C2=A0+## TODO and Ideas
=C2=A0+
=C2=A0+ - menubar feature.
=C2=A0+ - key callback.
=C2=A0+ - Right-To-Left text.
=C2=A0+ - some terminal does not hide the cursor, move it bottom-right befo= re to getch.
=C2=A0+ - refactor backtitle: add WINDOW \*dialog.backtitle for multiline a= nd fix expanding screen.
=C2=A0+ - refactor bottomdesc: add WINDOW \*dialog.bottomdesc to fix expand= ig screen.
=C2=A0+ - accessibility https://wiki.freebsd.org= /Accessibility/Wishlist/Base.
=C2=A0+ - add bool conf.menu.depthlines.
=C2=A0+ - implement custom getopt\_long().
=C2=A0+ - refactor/redesign gauge().
=C2=A0+ - improve grey lines expanding terminal (maybe redrawwin() in hide\= _dialog()).
=C2=A0+ - more restrictive strtol() and strtoul().
=C2=A0+ - implement global buttons handler.
=C2=A0+ - doc: external tutorial, theming guide.
=C2=A0+ - implement menutype.min\_on.
-=C2=A0 - improve refresh at startup, avoid dialog refresh before drawing t= ext.
=C2=A0+ - add debug API: bsddialog\_debug(y,x,refresh,"fmt",...).=
=C2=A0+ - add mouse support.
=C2=A0+ - use alarm(2) for bsddialog\_pause.
=C2=A0+ - delete form fieldlen constraint, hide or truncate long field in l= ittle screens.
=C2=A0+ - improve --inputbox autosizing, consider also input length.
=C2=A0+ - fix --form "" 0 0 0 Label 1 0 Init 1 12 0 0 (with 0 edi= table field).
=C2=A0+ - fix --mixedform "" 0 0 0 Label 1 0 Init 1 12 0 0 2 (wit= h 0 editable field).
=C2=A0+ - add *text* customization to --hmsg *help-message*
=C2=A0+ - check --passwordform *fieldlen* like --form and --mixedform.
-
++ - add manuals to Makefiles installe and uninstall targets.
diff --cc contrib/bsddialog/examples_library/textbox.c
index 000000000000,2e76cbb97891..2e76cbb97891
mode 000000,100644..100644
--- a/contrib/bsddialog/examples_library/textbox.c
+++ b/contrib/bsddialog/examples_library/textbox.c
diff --cc contrib/bsddialog/lib/Makefile
index 252b33f79848,000000000000..c728541a9f7a
mode 100644,000000..100644
--- a/contrib/bsddialog/lib/Makefile
+++ b/contrib/bsddialog/lib/Makefile
@@@ -1,44 -1,0 +1,63 @@@
=C2=A0+# PUBLIC DOMAIN - NO WARRANTY, see:
=C2=A0+#=C2=A0 =C2=A0 =C2=A0<http://creativecomm= ons.org/publicdomain/zero/1.0/>
=C2=A0+#
=C2=A0+# Written in 2021 by Alfonso Sabato Siciliano
=C2=A0+
=C2=A0+LIBRARY =3D bsddialog
=C2=A0+LIBRARY_SO =3D lib${LIBRARY:=3D.so}
=C2=A0+LIBRARY_A =3D lib${LIBRARY:=3D.a}
=C2=A0+HEADERS =3D bsddialog.h bsddialog_theme.h bsddialog_progressview.h =C2=A0+SOURCES =3D barbox.c datebox.c formbox.c libbsddialog.c lib_util.c \=
=C2=A0+=C2=A0 =C2=A0 =C2=A0 menubox.c messagebox.c textbox.c theme.c timebo= x.c
=C2=A0+OBJECTS =3D ${SOURCES:.c=3D.o}
++PREFIX =3D /usr/local
=C2=A0+
=C2=A0+.if defined(DEBUG)
=C2=A0+CFLAGS +=3D -g
=C2=A0+.endif
=C2=A0+CFLAGS +=3D -D_XOPEN_SOURCE_EXTENDED -fPIC -Wall -Wextra -std=3Dgnu9= 9 \
=C2=A0+=C2=A0 =C2=A0 =C2=A0 -fstack-protector-strong
=C2=A0+LDFLAGS +=3D -fstack-protector-strong -shared -Wl,-x -Wl,--fatal-war= nings \
=C2=A0+=C2=A0 =C2=A0 =C2=A0 -Wl,--warn-shared-textrel -Wl,-soname,${LIBRARY= _SO}.${VERSION} \
=C2=A0+=C2=A0 =C2=A0 =C2=A0 -L/usr/lib -lncursesw -ltinfow
=C2=A0+
=C2=A0+LN =3D ln -s -f
=C2=A0+RM =3D rm -f
=C2=A0+
- all : ${LIBRARY}
++all: ${LIBRARY}
++
++install: all
++=C2=A0 =C2=A0 =C2=A0 ${INSTALL} -m 0644 bsddialog.h ${DESTDIR}${PREFIX}/i= nclude/bsddialog.h
++=C2=A0 =C2=A0 =C2=A0 ${INSTALL} -m 0644 bsddialog_progressview.h ${DESTDI= R}${PREFIX}/include/bsddialog_progressview.h
++=C2=A0 =C2=A0 =C2=A0 ${INSTALL} -m 0644 bsddialog_theme.h ${DESTDIR}${PRE= FIX}/include/bsddialog_theme.h
++=C2=A0 =C2=A0 =C2=A0 ${INSTALL} -m 0644 ${LIBRARY_A} ${DESTDIR}${PREFIX}/= lib/${LIBRARY_A}
++=C2=A0 =C2=A0 =C2=A0 ${INSTALL} -m 0755 ${LIBRARY_SO}.${VERSION} ${DESTDI= R}${PREFIX}/lib/${LIBRARY_SO}.${VERSION}
++=C2=A0 =C2=A0 =C2=A0 ${LN} ${LIBRARY_SO}.${VERSION} ${DESTDIR}${PREFIX}/l= ib/${LIBRARY_SO}
++
++uninstall:
++=C2=A0 =C2=A0 =C2=A0 ${RM} ${DESTDIR}${PREFIX}/include/bsddialog.h
++=C2=A0 =C2=A0 =C2=A0 ${RM} ${DESTDIR}${PREFIX}/include/bsddialog_progress= view.h
++=C2=A0 =C2=A0 =C2=A0 ${RM} ${DESTDIR}${PREFIX}/include/bsddialog_theme.h<= br> ++=C2=A0 =C2=A0 =C2=A0 ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_A}
++=C2=A0 =C2=A0 =C2=A0 ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}.${VERSIO= N}
++=C2=A0 =C2=A0 =C2=A0 ${RM} ${DESTDIR}${PREFIX}/lib/${LIBRARY_SO}
=C2=A0+
=C2=A0+${LIBRARY}: ${LIBRARY_SO} ${LIBRARY_A}
=C2=A0+
=C2=A0+${LIBRARY_SO}.${VERSION}: ${OBJECTS}
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${CC} ${LDFLAGS} ${.ALLSRC} -o ${LIBRARY_SO}.${= VERSION}
=C2=A0+
=C2=A0+${LIBRARY_SO}: ${LIBRARY_SO}.${VERSION}
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${LN} ${LIBRARY_SO}.${VERSION} ${LIBRARY_SO} =C2=A0+
=C2=A0+${LIBRARY_A}: ${OBJECTS}
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${AR} cr ${.TARGET} ${OBJECTS}
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${RANLIB} ${.TARGET}
=C2=A0+
=C2=A0+.c.o:
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${CC} ${CFLAGS} -c ${.IMPSRC} -o ${.TARGET}
=C2=A0+
=C2=A0+clean:
=C2=A0+=C2=A0 =C2=A0 =C2=A0 ${RM} ${LIBRARY_SO}* *.o *~ *.gz ${LIBRARY_A} ++
++.PHONY: all install uninstall ${LIBRARY} clean
--0000000000009f15e90640bba67d--