aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPierre Pronchery <khorben@defora.org>2024-02-16 18:20:22 +0000
committerJoseph Mingrone <jrm@FreeBSD.org>2024-02-21 04:22:40 +0000
commit7b0bec15a69a325190b01f433cb506f1cb004df2 (patch)
tree04b406a3e74e08cb6afbfceeb079870366599d7d
parent79a63d136c6362b695028a0682bf05414d4dad1c (diff)
downloadports-7b0bec15a69a325190b01f433cb506f1cb004df2.tar.gz
ports-7b0bec15a69a325190b01f433cb506f1cb004df2.zip
x11/gbsddialog: add new port
gbsddialog is an implementation of bsddialog, a text-based user interface to be used in scripts and tools, such as in the official FreeBSD installer, bsdinstall(8). gbsddialog uses Gtk+ dialogs and widgets instead of console-based equivalents. The objective is to reproduce the same behaviour as the original tool, respecting the exact command-line parameters and output. gbsddialog can then be used as a drop-in replacement to bsddialog, effectively granting the possibility to install and configure FreeBSD entirely in graphical mode. In addition, an implementation of Xdialog is also provided, for use with bsdconfig(8) when invoked in graphical mode with -S or -X. Reviewed by: jrm Sponsored by: The FreeBSD Foundation Pull Request: https://github.com/freebsd/freebsd-ports/pull/235
-rw-r--r--x11/Makefile1
-rw-r--r--x11/gbsddialog/Makefile26
-rw-r--r--x11/gbsddialog/distinfo3
-rw-r--r--x11/gbsddialog/pkg-descr14
-rw-r--r--x11/gbsddialog/pkg-message11
-rw-r--r--x11/gbsddialog/pkg-plist44
6 files changed, 99 insertions, 0 deletions
diff --git a/x11/Makefile b/x11/Makefile
index 2fb860abb569..c347b37c2617 100644
--- a/x11/Makefile
+++ b/x11/Makefile
@@ -86,6 +86,7 @@
SUBDIR += foot
SUBDIR += fstobdf
SUBDIR += fuzzel
+ SUBDIR += gbsddialog
SUBDIR += gdm
SUBDIR += glcapsviewer
SUBDIR += gmrun
diff --git a/x11/gbsddialog/Makefile b/x11/gbsddialog/Makefile
new file mode 100644
index 000000000000..d8ad4e7ba8eb
--- /dev/null
+++ b/x11/gbsddialog/Makefile
@@ -0,0 +1,26 @@
+PORTNAME= gbsddialog
+DISTVERSION= 0.8.1
+CATEGORIES= x11
+MASTER_SITES= ${WWW}/releases/download/${PORTNAME}_${DISTVERSION:S/./-/g}/
+
+MAINTAINER= khorben@defora.org
+COMMENT= Drop in replacement for the "dialog" or "cdialog" programs
+WWW= https://github.com/khorben/gbsddialog
+
+LICENSE= BSD2CLAUSE
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+LIB_DEPENDS= libharfbuzz.so:print/harfbuzz
+
+USES= desktop-file-utils gettext-runtime gnome pkgconfig
+USE_GNOME= cairo gdkpixbuf2 glib20 gtk30 pango
+
+CONFLICTS_INSTALL= xdialog-*
+
+OPTIONS_DEFINE= DOCS
+
+post-install:
+ ${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/Xdialog \
+ ${STAGEDIR}${PREFIX}/bin/gbsddialog
+
+.include <bsd.port.mk>
diff --git a/x11/gbsddialog/distinfo b/x11/gbsddialog/distinfo
new file mode 100644
index 000000000000..41dbec3f88bc
--- /dev/null
+++ b/x11/gbsddialog/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1708207721
+SHA256 (gbsddialog-0.8.1.tar.gz) = 2b08ea0dff3f8a5fdf99571a92ae996a5713596769231030093201ed63679de5
+SIZE (gbsddialog-0.8.1.tar.gz) = 76238
diff --git a/x11/gbsddialog/pkg-descr b/x11/gbsddialog/pkg-descr
new file mode 100644
index 000000000000..5a08288e8cb6
--- /dev/null
+++ b/x11/gbsddialog/pkg-descr
@@ -0,0 +1,14 @@
+gbsddialog is an implementation of bsddialog, a text-based user interface to be
+used in scripts and tools, such as in the official FreeBSD installer,
+bsdinstall(8).
+
+However, gbsddialog uses Gtk+ dialogs and widgets instead of console-based
+equivalents.
+
+The objective is to reproduce the same behaviour as the original tool,
+respecting the exact command-line parameters and output. gbsddialog can then be
+used as a drop-in replacement to bsddialog, effectively granting the possibility
+to install and configure FreeBSD entirely in graphical mode.
+
+In addition, an implementation of Xdialog is also provided, for use with
+bsdconfig(8) when invoked in graphical mode with -S or -X.
diff --git a/x11/gbsddialog/pkg-message b/x11/gbsddialog/pkg-message
new file mode 100644
index 000000000000..f764e314e684
--- /dev/null
+++ b/x11/gbsddialog/pkg-message
@@ -0,0 +1,11 @@
+[
+{ type: install
+ message: <<EOM
+This package also installs a desktop application file for bsdconfig(8),
+FreeBSD's system configuration tool, for operation as a graphical
+interface (starting with -X) as permitted with xdialog(1) as helper tool.
+However, for proper operation this requires either running as the root user, or
+sudo(8) to be installed and the user to be allowed in the sudoers(5) file.
+EOM
+}
+]
diff --git a/x11/gbsddialog/pkg-plist b/x11/gbsddialog/pkg-plist
new file mode 100644
index 000000000000..51784bd66833
--- /dev/null
+++ b/x11/gbsddialog/pkg-plist
@@ -0,0 +1,44 @@
+bin/Xdialog
+bin/gbsddialog
+share/applications/bsdconfig.desktop
+share/icons/hicolor/48x48/apps/bsdconfig.png
+share/man/man1/Xdialog.1.gz
+share/man/man1/gbsddialog.1.gz
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/README.md
+%%PORTDOCS%%%%DOCSDIR%%/samples/Xdialog.wrapper.c
+%%PORTDOCS%%%%DOCSDIR%%/samples/Xmessage
+%%PORTDOCS%%%%DOCSDIR%%/samples/Xmore
+%%PORTDOCS%%%%DOCSDIR%%/samples/allrpms
+%%PORTDOCS%%%%DOCSDIR%%/samples/bluebox.rc
+%%PORTDOCS%%%%DOCSDIR%%/samples/buildlist
+%%PORTDOCS%%%%DOCSDIR%%/samples/calendar
+%%PORTDOCS%%%%DOCSDIR%%/samples/chain
+%%PORTDOCS%%%%DOCSDIR%%/samples/checklist
+%%PORTDOCS%%%%DOCSDIR%%/samples/dselect
+%%PORTDOCS%%%%DOCSDIR%%/samples/editbox
+%%PORTDOCS%%%%DOCSDIR%%/samples/fixed-font.rc
+%%PORTDOCS%%%%DOCSDIR%%/samples/format1440
+%%PORTDOCS%%%%DOCSDIR%%/samples/fselect
+%%PORTDOCS%%%%DOCSDIR%%/samples/gauge
+%%PORTDOCS%%%%DOCSDIR%%/samples/infobox
+%%PORTDOCS%%%%DOCSDIR%%/samples/infobox2
+%%PORTDOCS%%%%DOCSDIR%%/samples/inputbox
+%%PORTDOCS%%%%DOCSDIR%%/samples/install-wrapper
+%%PORTDOCS%%%%DOCSDIR%%/samples/kernel
+%%PORTDOCS%%%%DOCSDIR%%/samples/logbox
+%%PORTDOCS%%%%DOCSDIR%%/samples/logbox2
+%%PORTDOCS%%%%DOCSDIR%%/samples/login
+%%PORTDOCS%%%%DOCSDIR%%/samples/menubox
+%%PORTDOCS%%%%DOCSDIR%%/samples/msgbox
+%%PORTDOCS%%%%DOCSDIR%%/samples/no-entry.xpm
+%%PORTDOCS%%%%DOCSDIR%%/samples/radiolist
+%%PORTDOCS%%%%DOCSDIR%%/samples/rangebox
+%%PORTDOCS%%%%DOCSDIR%%/samples/set-time
+%%PORTDOCS%%%%DOCSDIR%%/samples/tailbox
+%%PORTDOCS%%%%DOCSDIR%%/samples/textbox
+%%PORTDOCS%%%%DOCSDIR%%/samples/timebox
+%%PORTDOCS%%%%DOCSDIR%%/samples/treeview
+%%PORTDOCS%%%%DOCSDIR%%/samples/warning.xpm
+%%PORTDOCS%%%%DOCSDIR%%/samples/xlock-wrapper
+%%PORTDOCS%%%%DOCSDIR%%/samples/yesno