Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package xfd for openSUSE:Factory checked in at 2026-01-26 11:06:04 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xfd (Old) and /work/SRC/openSUSE:Factory/.xfd.new.1928 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xfd" Mon Jan 26 11:06:04 2026 rev:11 rq:1329083 version:1.1.5 Changes: -------- --- /work/SRC/openSUSE:Factory/xfd/xfd.changes 2022-12-05 18:01:07.424556288 +0100 +++ /work/SRC/openSUSE:Factory/.xfd.new.1928/xfd.changes 2026-01-26 11:06:10.967678306 +0100 @@ -1,0 +2,15 @@ +Sun Jan 25 17:41:08 UTC 2026 - Stefan Dirsch <[email protected]> + +- Update to version 1.1.5 + * Print which argument(s) was unknown before giving usage message + * Add -help and -version options + * grid.c: fix 7 -Wuseless-cast warnings from gcc 14.1 + * meson: Add option to build with meson + * Improve man page formatting + * Call gettext() for "Unknown argument(s):" message + * man page: fix warnings from `mandoc -T lint` and `groff -rCHECKSTYLE=10` + * meson: if gettext is not in libc, look in libintl, not libGL + * gitlab CI: drop the ci-fairy check-mr job +- switched to meson build + +------------------------------------------------------------------- Old: ---- xfd-1.1.4.tar.xz New: ---- xfd-1.1.5.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xfd.spec ++++++ --- /var/tmp/diff_new_pack.tYtky9/_old 2026-01-26 11:06:12.191728713 +0100 +++ /var/tmp/diff_new_pack.tYtky9/_new 2026-01-26 11:06:12.195728878 +0100 @@ -1,7 +1,7 @@ # # spec file for package xfd # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,13 +17,14 @@ Name: xfd -Version: 1.1.4 +Version: 1.1.5 Release: 0 Summary: Utility to display all the characters in an X font License: X11 Group: System/X11/Utilities URL: http://xorg.freedesktop.org/ Source0: http://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz +BuildRequires: meson BuildRequires: pkg-config BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(xaw7) @@ -47,11 +48,11 @@ %setup -q %build -%configure -make %{?_smp_mflags} +%meson +%meson_build %install -%make_install +%meson_install %files %defattr(-,root,root) ++++++ xfd-1.1.4.tar.xz -> xfd-1.1.5.tar.xz ++++++ ++++ 10616 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/ChangeLog new/xfd-1.1.5/ChangeLog --- old/xfd-1.1.4/ChangeLog 2022-12-03 22:49:07.000000000 +0100 +++ new/xfd-1.1.5/ChangeLog 2026-01-25 01:52:34.000000000 +0100 @@ -1,3 +1,106 @@ +commit f51d1f8224a18d66b4f0df5fd06121be3d4c129f +Author: Alan Coopersmith <[email protected]> +Date: Sat Jan 24 16:47:58 2026 -0800 + + xfd 1.1.5 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 8a68812e01098ff37026b6f77357f3e72772611b +Author: Alan Coopersmith <[email protected]> +Date: Sun Jan 11 11:20:41 2026 -0800 + + gitlab CI: drop the ci-fairy check-mr job + + The only thing this checked was the checkbox for allowing maintainers to + edit the MR. Changed permissions checks now fail this job but luckily + the setting it checked has been the default for years anyway so we can + drop it. + + https://gitlab.freedesktop.org/freedesktop/ci-templates/-/issues/81 + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 95724dfbf195b0e060a0c50223ab0e82c1dc0eb8 +Author: Alan Coopersmith <[email protected]> +Date: Sat Jul 26 17:14:31 2025 -0700 + + meson: if gettext is not in libc, look in libintl, not libGL + + Copy-and-paste oops? + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xfd/-/merge_requests/10> + +commit 5d78cf01331d940207d4ba2088f8ac907ddc27f1 +Author: Alan Coopersmith <[email protected]> +Date: Sun May 25 09:36:24 2025 -0700 + + man page: fix warnings from `mandoc -T lint` and `groff -rCHECKSTYLE=10` + + mandoc: xfd.1:132:45: STYLE: whitespace at end of input line + mandoc: xfd.1:26:11: WARNING: cannot parse date, using it verbatim: TH xfd 1.1.4 + mandoc: xfd.1:73:2: WARNING: skipping paragraph macro: PP after SH + an.tmac:xfd.1:210: style: blank line in input + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xfd/-/merge_requests/9> + +commit 20f3167bc517ef99f10e3bde928f1cfc0227e5d4 +Author: Alan Coopersmith <[email protected]> +Date: Tue Mar 25 17:39:38 2025 -0700 + + Call gettext() for "Unknown argument(s):" message + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xfd/-/merge_requests/8> + +commit 69086a70a0b2c74cbedfaad65a62d18e98c12ed5 +Author: Alan Coopersmith <[email protected]> +Date: Tue Mar 25 17:33:37 2025 -0700 + + Improve man page formatting + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xfd/-/merge_requests/8> + +commit 165926fce3a8d471efb13d5ca92d520cf62cf5d0 +Author: Alan Coopersmith <[email protected]> +Date: Sun Mar 9 13:08:30 2025 -0700 + + meson: Add option to build with meson + + Also updates the gitlab CI config to test both build types + and compare the generated output/installed files. + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xfd/-/merge_requests/7> + +commit df21f9e742f8222f54d4c0226ed12a1ddf9a5744 +Author: Alan Coopersmith <[email protected]> +Date: Mon Aug 26 19:13:01 2024 -0700 + + grid.c: fix 7 -Wuseless-cast warnings from gcc 14.1 + + Signed-off-by: Alan Coopersmith <[email protected]> + Part-of: <https://gitlab.freedesktop.org/xorg/app/xfd/-/merge_requests/6> + +commit 7825f39cb7d6e1cbfe7fe86efc23e19148253149 +Author: Alan Coopersmith <[email protected]> +Date: Sat Feb 11 10:44:16 2023 -0800 + + Add -help and -version options + + Signed-off-by: Alan Coopersmith <[email protected]> + +commit 9079fc7a7138aaaae6a4bc99e97c8eb073875a93 +Author: Alan Coopersmith <[email protected]> +Date: Sat Feb 11 10:40:16 2023 -0800 + + Print which argument(s) was unknown before giving usage message + + Signed-off-by: Alan Coopersmith <[email protected]> + commit a70254dac5e63fbe4f8aa89433189a613a509e1f Author: Alan Coopersmith <[email protected]> Date: Sat Dec 3 13:46:02 2022 -0800 @@ -720,7 +823,7 @@ Use sed to fill in variables in man page commit bd8980b53fe42bd02524fffd77aea85895fd8b22 -Author: Kristian Høgsberg <[email protected]> +Author: Kristian Høgsberg <[email protected]> Date: Tue Sep 27 20:23:15 2005 +0000 Update configure.ac to not require xaw8. @@ -753,7 +856,7 @@ - Update modular Xorg version commit 84402c21218d680e062d1effd217472d5a0d98dd -Author: Søren Sandmann Pedersen <[email protected]> +Author: Søren Sandmann Pedersen <[email protected]> Date: Wed Jul 27 22:41:14 2005 +0000 Add _BSD_SOURCE to xfd @@ -785,7 +888,7 @@ configure cache, you cache it, and the cached value is probably wrong. commit 3fc196e33de9fe3c8468d771763c4433328c764c -Author: Søren Sandmann Pedersen <[email protected]> +Author: Søren Sandmann Pedersen <[email protected]> Date: Wed Jul 6 19:26:26 2005 +0000 - Xaw/xaw.m4: Change help string to say "enable xprint" instead of "disable @@ -796,7 +899,7 @@ - remove font/arabic-misc/README and font/mutt-misc/README commit 5309f3af0daaf8292ad4fbdd8a7c1c66dc20a178 -Author: Søren Sandmann Pedersen <[email protected]> +Author: Søren Sandmann Pedersen <[email protected]> Date: Wed Jul 6 15:14:08 2005 +0000 Build system for xfd diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/Makefile.am new/xfd-1.1.5/Makefile.am --- old/xfd-1.1.4/Makefile.am 2022-12-03 22:48:58.000000000 +0100 +++ new/xfd-1.1.5/Makefile.am 2026-01-25 01:52:23.000000000 +0100 @@ -62,4 +62,5 @@ CLEANFILES = xfd.po endif -EXTRA_DIST = README.md +EXTRA_DIST = README.md meson.build meson.options +EXTRA_DIST += po/meson.build po/LINGUAS po/POTFILES diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/compile new/xfd-1.1.5/compile --- old/xfd-1.1.4/compile 2022-12-03 22:49:02.000000000 +0100 +++ new/xfd-1.1.5/compile 2026-01-25 01:52:28.000000000 +0100 @@ -1,9 +1,9 @@ #! /bin/sh # Wrapper for compilers which do not understand '-c -o'. -scriptversion=2018-03-07.03; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 1999-2021 Free Software Foundation, Inc. +# Copyright (C) 1999-2025 Free Software Foundation, Inc. # Written by Tom Tromey <[email protected]>. # # This program is free software; you can redistribute it and/or modify @@ -37,11 +37,11 @@ file_conv= -# func_file_conv build_file lazy +# func_file_conv build_file unneeded_conversions # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. +# type is listed in (the comma separated) UNNEEDED_CONVERSIONS, no +# conversion will take place. func_file_conv () { file=$1 @@ -51,9 +51,20 @@ # lazily determine how to convert abs files case `uname -s` in MINGW*) - file_conv=mingw + if test -n "$MSYSTEM" && (cygpath --version) >/dev/null 2>&1; then + # MSYS2 environment. + file_conv=cygwin + else + # Original MinGW environment. + file_conv=mingw + fi ;; - CYGWIN* | MSYS*) + MSYS*) + # Old MSYS environment, or MSYS2 with 32-bit MSYS2 shell. + file_conv=cygwin + ;; + CYGWIN*) + # Cygwin environment. file_conv=cygwin ;; *) @@ -63,12 +74,14 @@ fi case $file_conv/,$2, in *,$file_conv,*) + # This is the optimization mentioned above: + # If UNNEEDED_CONVERSIONS contains $file_conv, don't convert. ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; - cygwin/* | msys/*) - file=`cygpath -m "$file" || echo "$file"` + cygwin/*) + file=`cygpath -w "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` @@ -143,7 +156,7 @@ # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in - *.o | *.[oO][bB][jJ]) + *.o | *.lo | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift @@ -248,14 +261,17 @@ right script to run: please start by reading the file 'INSTALL'. Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>. EOF exit $? ;; -v | --v*) - echo "compile $scriptversion" + echo "compile (GNU Automake) $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \ + clang-cl | *[/\\]clang-cl | clang-cl.exe | *[/\\]clang-cl.exe | \ icl | *[/\\]icl | icl.exe | *[/\\]icl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; @@ -340,9 +356,9 @@ # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/config.h.in new/xfd-1.1.5/config.h.in --- old/xfd-1.1.4/config.h.in 2022-12-03 22:49:01.000000000 +0100 +++ new/xfd-1.1.5/config.h.in 2026-01-25 01:52:28.000000000 +0100 @@ -57,7 +57,7 @@ /* Patch version of this package */ #undef PACKAGE_VERSION_PATCHLEVEL -/* Define to 1 if all of the C90 standard headers exist (not just the ones +/* Define to 1 if all of the C89 standard headers exist (not just the ones required in a freestanding environment). This macro is provided for backward compatibility; new code need not use it. */ #undef STDC_HEADERS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/configure.ac new/xfd-1.1.5/configure.ac --- old/xfd-1.1.4/configure.ac 2022-12-03 22:48:58.000000000 +0100 +++ new/xfd-1.1.5/configure.ac 2026-01-25 01:52:23.000000000 +0100 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xfd], [1.1.4], +AC_INIT([xfd], [1.1.5], [https://gitlab.freedesktop.org/xorg/app/xfd/-/issues], [xfd]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/grid.c new/xfd-1.1.5/grid.c --- old/xfd-1.1.4/grid.c 2022-12-03 22:48:58.000000000 +0100 +++ new/xfd-1.1.5/grid.c 2026-01-25 01:52:23.000000000 +0100 @@ -334,8 +334,8 @@ Bool *prev16validp, Bool *next16validp) { FontGridWidget fgw = (FontGridWidget) w; - long minn = (long) GridFirstChar (w); - long maxn = (long) GridLastChar (w); + long minn = GridFirstChar (w); + long maxn = GridLastChar (w); *prev16validp = (fgw->fontgrid.start_char - 0xf00 > minn); *prevvalidp = (fgw->fontgrid.start_char > minn); @@ -394,7 +394,7 @@ if (toVal->size < sizeof(type)) { \ toVal->size = sizeof(type); \ XtDisplayStringConversionWarning(dpy, \ - (char*) fromVal->addr, tstr); \ + fromVal->addr, tstr); \ return False; \ } \ *(type*)(toVal->addr) = (value); \ @@ -461,7 +461,7 @@ screen = *((Screen **) args[0].addr); colormap = *((Colormap *) args[1].addr); - spec = (char *) fromVal->addr; + spec = fromVal->addr; if (strcasecmp (spec, XtDefaultForeground) == 0) { renderColor.red = 0; @@ -533,7 +533,7 @@ } screen = *((Screen **) args[0].addr); - name = (char *) fromVal->addr; + name = fromVal->addr; font = NULL; if (name) @@ -542,7 +542,7 @@ XScreenNumberOfScreen (screen), name); if (!font) - XtDisplayStringConversionWarning(dpy, (char *) fromVal->addr, XtRXftFont); + XtDisplayStringConversionWarning(dpy, fromVal->addr, XtRXftFont); } donestr (XftFont *, font, XtRXftFont); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/man/xfd.man new/xfd-1.1.5/man/xfd.man --- old/xfd-1.1.4/man/xfd.man 2022-12-03 22:48:58.000000000 +0100 +++ new/xfd-1.1.5/man/xfd.man 2026-01-25 01:52:23.000000000 +0100 @@ -23,7 +23,7 @@ .\" from The Open Group. .\" .\" -.TH XFD 1 __xorgversion__ +.TH XFD 1 2023-02-11 __xorgversion__ .SH NAME xfd \- display all the characters in an X font .SH SYNOPSIS @@ -33,7 +33,7 @@ .B xfd [\-options ...] \fB\-fa\fP \fIfontname\fP .SH DESCRIPTION -The \fIxfd\fP utility creates a window containing the name of the font being +The \fBxfd\fP utility creates a window containing the name of the font being displayed, a row of command buttons, several lines of text for displaying character metrics, and a grid containing one glyph per cell. The characters are shown in increasing order from left to right, top to @@ -59,19 +59,18 @@ .PP All the characters in the font may not fit in the window at once. To see the next page of glyphs, press the \fINext\fP button at the top -of the window. To see the previous page, press \fIPrev\fP. To exit \fIxfd\fP, +of the window. To see the previous page, press \fIPrev\fP. To exit \fBxfd\fP, press \fIQuit\fP. .PP Individual character metrics (index, width, bearings, ascent and descent) can be displayed at the top of the window by clicking on the desired character. .PP The font name displayed at the top of the window is the full name of the -font, as determined by the server. See \fIxlsfonts\fP and \fIfc-list\fP +font, as determined by the server. See \fBxlsfonts\fP(1) and \fBfc-list\fP(1) for ways to generate lists of fonts, as well as more detailed summaries of their metrics and properties. .SH "OPTIONS" -.PP -.I xfd +.B xfd accepts all of the standard toolkit command line options along with the additional options listed below: .TP 8 @@ -115,15 +114,21 @@ This option specifies the number of columns in the grid. This can also be set with the FontGrid \fBcellColumns\fP resource. +.TP 8 +.B \-help +This option indicates that \fBxfd\fP should print a usage message and exit. +.TP 8 +.B \-version +This option indicates that \fBxfd\fP should print version info and exit. .SH WIDGETS In order to specify resources, it is useful to know the -widgets which compose \fIxfd\fR. In the notation below, indentation +widgets which compose \fBxfd\fR. In the notation below, indentation indicates hierarchical structure. The widget class name is given first, followed by the widget instance name. The application class name is Xfd. .sp .nf -.\" default T 0.8i tab stops will work here; +.\" default T 0.8i tab stops will work here; .\" avoids a warning during XML conversion. Xfd xfd Paned pane @@ -150,7 +155,7 @@ are given below. Capitalize the first letter of the resource instance name to get the corresponding class name. These resources are unlikely to be interesting unless you are localizing -xfd for a different language. +\fBxfd\fP for a different language. .TP 8 .B selectFormat Specifies a printf-style format string used to display information @@ -189,12 +194,15 @@ 0x%02x%02x (%u,%u) (%#o,%#o)". The arguments that will come after the format string are the same as for the \fBselectFormat\fP resource. .SH "SEE ALSO" -X(__miscmansuffix__), xlsfonts(__appmansuffix__), xrdb(__appmansuffix__), xfontsel(__appmansuffix__), fc-list(__appmansuffix__), -fonts.conf(__filemansuffix__), +.BR X (__miscmansuffix__), +.BR xlsfonts (__appmansuffix__), +.BR xrdb (__appmansuffix__), +.BR xfontsel (__appmansuffix__), +.BR fc-list (__appmansuffix__), +.BR fonts.conf (__filemansuffix__), .I "X Logical Font Description Conventions" .SH "BUGS" The program should skip over pages full of non-existent characters. .SH AUTHOR Jim Fulton, MIT X Consortium; previous program of the same name by Mark Lillibridge, MIT Project Athena. - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/meson.build new/xfd-1.1.5/meson.build --- old/xfd-1.1.4/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/xfd-1.1.5/meson.build 2026-01-25 01:52:23.000000000 +0100 @@ -0,0 +1,131 @@ +# SPDX-License-Identifier: MIT +# +# Copyright (c) 2025, Oracle and/or its affiliates. +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# + +project( + 'xfd', + 'c', + version: '1.1.5', + license: 'X11', + license_files: 'COPYING', + meson_version: '>= 1.1.0', +) + +conf = configuration_data() +package_string = ' '.join(meson.project_name(), meson.project_version()) +conf.set_quoted('PACKAGE_STRING', package_string) + +cc = meson.get_compiler('c') + +# Replacement for XORG_DEFAULT_OPTIONS +if cc.has_argument('-fno-strict-aliasing') + add_project_arguments('-fno-strict-aliasing', language: 'c') +endif + +deps = [] + +# Internationalization & localization support +use_gettext = cc.has_function('gettext') +if use_gettext == false + dep_libintl = cc.find_library('intl', required: false) + use_gettext = cc.has_function('gettext', dependencies: dep_libintl) + if use_gettext == true + deps += dep_libintl + endif +endif +conf.set('USE_GETTEXT', use_gettext ? 1 : false, + description: 'Define to 1 if you want to use the gettext() function.') +summary('Use gettext', use_gettext) +subdir('po') + +# where to install localized messages +localedir = get_option('prefix') / get_option('localedir') +conf.set_quoted('LOCALEDIR', localedir) + +# Checks for pkg-config packages +dep_libxaw = dependency('xaw7', required: true) +dep_fontconfig = dependency('fontconfig', required: true) +dep_libxft = dependency('xft', required: true) +dep_libxrender = dependency('xrender', required: true) +dep_libxmu = dependency('xmu', required: true) +dep_libx11 = dependency('x11', required: true) +dep_xproto = dependency('xproto', required: true, version: '>= 7.0.25') +deps += [dep_libxaw, dep_fontconfig, dep_libxft, dep_libxrender, dep_libxmu, + dep_libx11, dep_xproto] + +# Optional dependencies +if get_option('xkb').enabled() + dep_libxkbfile = dependency('xkbfile', required: true) + deps += dep_libxkbfile + conf.set('XKB', 1, description: 'Define to use XkbStdBell') +endif +summary('xkb', get_option('xkb').enabled()) + +config_h = configure_file(output: 'config.h', configuration: conf) +add_project_arguments('-DHAVE_CONFIG_H', language: ['c']) + +add_project_arguments('-DXRENDER', language: ['c']) +add_project_arguments('-D_BSD_SOURCE', language: ['c']) +add_project_arguments('-D_CONST_X_STRING', language: ['c']) + +executable( + 'xfd', + [config_h, 'grid.c', 'grid.h', 'gridP.h', 'xfd.c'], + dependencies: deps, + install: true +) + +# Find directory for installing app-defaults files +appdefaultdir = get_option('appdefaultdir') +if appdefaultdir == '' + dep_libxt = dependency('xt', required: true) + appdefaultdir = dep_libxt.get_variable('appdefaultdir') +endif +summary('appdefaultdir', appdefaultdir) + +# App default files +install_data( + 'app-defaults/Xfd', + install_dir: appdefaultdir, +) + +# Man page +prog_sed = find_program('sed') + +custom_target( + 'xfd.man', + input: 'man/xfd.man', + output: 'xfd.1', + command: [ + prog_sed, + '-e', 's/__xorgversion__/"@0@" "X Version 11"/'.format(package_string), + '-e', 's/__appmansuffix__/1/g', + '-e', 's/__libmansuffix__/3/g', + '-e', 's/__filemansuffix__/5/g', + '-e', 's/__miscmansuffix__/7/g', + '@INPUT@', + ], + capture: true, + install: true, + install_dir: get_option('mandir') / 'man1', +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/meson.options new/xfd-1.1.5/meson.options --- old/xfd-1.1.4/meson.options 1970-01-01 01:00:00.000000000 +0100 +++ new/xfd-1.1.5/meson.options 2026-01-25 01:52:23.000000000 +0100 @@ -0,0 +1,11 @@ +option( + 'appdefaultdir', + type: 'string', + description: 'directory for app-defaults files (default is autodetected)', +) +option( + 'xkb', + type: 'feature', + value : 'enabled', + description: 'Use XKB to sound bells (default is enabled)', +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/missing new/xfd-1.1.5/missing --- old/xfd-1.1.4/missing 2022-12-03 22:49:02.000000000 +0100 +++ new/xfd-1.1.5/missing 2026-01-25 01:52:28.000000000 +0100 @@ -1,9 +1,11 @@ #! /bin/sh -# Common wrapper for a few potentially missing GNU programs. +# Common wrapper for a few potentially missing GNU and other programs. -scriptversion=2018-03-07.03; # UTC +scriptversion=2025-06-18.21; # UTC -# Copyright (C) 1996-2021 Free Software Foundation, Inc. +# shellcheck disable=SC2006,SC2268 # we must support pre-POSIX shells + +# Copyright (C) 1996-2025 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -54,18 +56,20 @@ -v, --version output version information and exit Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man +aclocal autoconf autogen autoheader autom4te automake autoreconf +bison flex help2man lex makeinfo perl yacc Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. -Send bug reports to <[email protected]>." +Report bugs to <[email protected]>. +GNU Automake home page: <https://www.gnu.org/software/automake/>. +General help using GNU software: <https://www.gnu.org/gethelp/>." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" + echo "missing (GNU Automake) $scriptversion" exit $? ;; @@ -108,7 +112,7 @@ program_details () { case $1 in - aclocal|automake) + aclocal|automake|autoreconf) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" @@ -123,6 +127,9 @@ echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; + *) + : + ;; esac } @@ -137,48 +144,55 @@ printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" + autoheader_deps="'acconfig.h'" + automake_deps="'Makefile.am'" + aclocal_deps="'acinclude.m4'" case $normalized_program in + aclocal*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$configure_deps." + ;; autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' + echo "You should only need it if you modified $configure_deps." + ;; + autogen*) + echo "You should only need it if you modified a '.def' or '.tpl' file." + echo "You may want to install the GNU AutoGen package:" + echo "<$gnu_software_URL/autogen/>" ;; autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" + echo "You should only need it if you modified $autoheader_deps or" echo "$configure_deps." - program_details 'autoheader' ;; automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" + echo "You should only need it if you modified $automake_deps or" echo "$configure_deps." - program_details 'aclocal' ;; - autom4te*) + autom4te*) echo "You might have modified some maintainer files that require" echo "the 'autom4te' program to be rebuilt." - program_details 'autom4te' + ;; + autoreconf*) + echo "You should only need it if you modified $aclocal_deps or" + echo "$automake_deps or $autoheader_deps or $automake_deps or" + echo "$configure_deps." ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; + lex*|flex*) + echo "You should only need it if you modified a '.l' file." + echo "You may want to install the Fast Lexical Analyzer package:" + echo "<$flex_URL>" + ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." @@ -189,6 +203,12 @@ echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; + perl*) + echo "You should only need it to run GNU Autoconf, GNU Automake, " + echo " assorted other tools, or if you modified a Perl source file." + echo "You may want to install the Perl 5 language interpreter:" + echo "<$perl_URL>" + ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" @@ -197,6 +217,7 @@ echo "case some other package contains this missing '$1' program." ;; esac + program_details "$normalized_program" } give_advice "$1" | sed -e '1s/^/WARNING: /' \ @@ -207,9 +228,9 @@ exit $st # Local variables: -# eval: (add-hook 'before-save-hook 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp nil t) # time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-format: "%Y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/po/POTFILES new/xfd-1.1.5/po/POTFILES --- old/xfd-1.1.4/po/POTFILES 1970-01-01 01:00:00.000000000 +0100 +++ new/xfd-1.1.5/po/POTFILES 2026-01-25 01:52:23.000000000 +0100 @@ -0,0 +1,4 @@ +grid.c +grid.h +gridP.h +xfd.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/po/meson.build new/xfd-1.1.5/po/meson.build --- old/xfd-1.1.4/po/meson.build 1970-01-01 01:00:00.000000000 +0100 +++ new/xfd-1.1.5/po/meson.build 2026-01-25 01:52:23.000000000 +0100 @@ -0,0 +1,4 @@ +if use_gettext == true + i18n = import('i18n') + i18n.gettext(meson.project_name()) +endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/xfd-1.1.4/xfd.c new/xfd-1.1.5/xfd.c --- old/xfd-1.1.4/xfd.c 2022-12-03 22:48:58.000000000 +0100 +++ new/xfd-1.1.5/xfd.c 2026-01-25 01:52:23.000000000 +0100 @@ -70,7 +70,7 @@ {"-columns", "*grid.cellColumns", XrmoptionSepArg, (caddr_t) NULL }, }; -static void usage(void) _X_NORETURN _X_COLD; +static void usage(int exitval) _X_NORETURN _X_COLD; static void SelectChar(Widget w, XtPointer closure, XtPointer data); static void do_quit(Widget w, XEvent *event, String *params, Cardinal *num_params) _X_NORETURN; @@ -134,7 +134,7 @@ #undef Offset static void -usage(void) +usage(int exitval) { fprintf (stderr, gettext("usage: %s [-options ...] "), ProgramName); fprintf (stderr, "-fn "); @@ -161,7 +161,7 @@ fprintf (stderr, gettext("number number of rows in grid\n")); fprintf (stderr, " -columns "); fprintf (stderr, gettext("number number of columns in grid\n")); - exit (1); + exit (exitval); } @@ -190,10 +190,35 @@ ProgramName = argv[0]; + /* Handle args that don't require opening a display */ + for (int n = 1; n < argc; n++) { + const char *argn = argv[n]; + /* accept single or double dash for -help & -version */ + if (argn[0] == '-' && argn[1] == '-') { + argn++; + } + if (strcmp (argn, "-help") == 0) { + usage (0); + } + if (strcmp (argn, "-version") == 0) { + puts (PACKAGE_STRING); + exit (0); + } + } + toplevel = XtAppInitialize (&xtcontext, "Xfd", xfd_options, XtNumber(xfd_options), &argc, argv, NULL, NULL, 0); + if (argc != 1) { + fputs(gettext("Unknown argument(s):"), stderr); + for (int n = 1; n < argc; n++) { + fprintf(stderr, " %s", argv[n]); + } + fputs("\n\n", stderr); + usage (1); + } + #ifdef USE_GETTEXT { const char *domaindir; @@ -214,7 +239,6 @@ Resources[3].default_addr = gettext(DEF_START_FORMAT); Resources[4].default_addr = gettext(DEF_NOCHAR_FORMAT); - if (argc != 1) usage (); XtAppAddActions (xtcontext, xfd_actions, XtNumber (xfd_actions)); XtOverrideTranslations (toplevel, XtParseTranslationTable ("<Message>WM_PROTOCOLS: Quit()"));
