#
# spec file for package xkbcomp
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


Name:           xkbcomp
Version:        1.4.6
Release:        1.5
Summary:        Utility to compile XKB keyboard description
License:        MIT
Group:          System/X11/Utilities
URL:            https://xorg.freedesktop.org/
Source0:        https://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz
BuildRequires:  bison
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xkbfile)
BuildRequires:  pkgconfig(xorg-macros) >= 1.8
BuildRequires:  pkgconfig(xproto) >= 7.0.17
# This was part of the xorg-x11 package up to version 7.6
Conflicts:      xorg-x11 <= 7.6

%description
The xkbcomp keymap compiler converts a description of an XKB keymap
into one of several output formats.

%package devel
Summary:        Utility to compile XKB keyboard description -- Development Files
Group:          Development/Libraries/X11
Requires:       %{name} = %{version}

%description devel
The xkbcomp keymap compiler converts a description of an XKB keymap
into one of several output formats.

%prep
%setup -q

%build
%configure
%make_build

%install
%make_install

%files
%license COPYING
%doc ChangeLog README
%{_bindir}/xkbcomp
%{_mandir}/man1/xkbcomp.1%{?ext_man}

%files devel
%{_libdir}/pkgconfig/xkbcomp.pc

%changelog
* Sun Dec 18 2022 Dirk Müller <dmueller@suse.com>
- update to 1.4.6:
  * configure: Use AC_SYS_LARGEFILE to enable large file support
  * suppress four more warnings when 'warningLevel' is zero
  * suppress the "Could not resolve" warning when 'warningLevel' is zero
  * man page: remove out-of-date COPYRIGHT section
  * Build xz tarballs instead of bzip2
  * Fix "upercase" typo
* Sat May  1 2021 Dirk Müller <dmueller@suse.com>
- modernize spec file (move license to licensedir)
* Wed Mar 17 2021 Stefan Dirsch <sndirsch@suse.com>
- Update to version 1.4.5
  * Remove trailing whitespaces
  * gitlab CI: add basic build test
  * Replace WARN[1-9], ERROR[1-9], etc. with their unnumbered version
  * Downgrade the warning for missing symbols to info
  * keycodes: downgrade the >255 keycode warning to an info
  * keycodes: compress the high keycode warning
* Thu Nov  5 2020 Stefan Dirsch <sndirsch@suse.com>
- Update to version 1.4.4
  * Fix spelling/wording issues
  * Fix lockdevbtn to be XkbSA_LockDeviceBtn action
  * For -R and after chdir, add the current directory to the path
  * Don't pretend unresolved symbols are an error
* Fri Feb 21 2020 Stefan Dirsch <sndirsch@suse.com>
- Update to version 1.4.3
  * Update configure.ac bug URL for gitlab migration
  * configure: Remove unused AC_SUBST([REQUIRED_MODULES])
  * pkgconfig: Remove unneeded Requires.private
  * Suppress high-keycode warnings at the default warning level
  * xkbcomp Fix missing support for "affect" and incorrect modifier
    handling for ISOLock
  * Don't compare with string literals
  * Fix invalid error report on F_Accel field
  * Error out if we have no default path
* Fri Jun  8 2018 sndirsch@suse.com
- Update to version 1.4.2
  * Only one patch, fixing keymap compilation errors when the
    keycodes maximum is set to a value above the permitted X11
    maximum of 255. While we already ignored keys with codes
    above 255, we still failed on the maximum=374; line that
    xkeyboard-config 2.24 produces now.
* Mon Mar  5 2018 sndirsch@suse.com
- Update to version 1.4.1
  * This release adds the path of the xkbcomp executable to the pkgconfig
    data, allowing the X server to find the right binary regardless of
    where its (the X servers) $prefix is pointed. Without this the X server
    will guess that xkbcomp is configured for the same prefix; since the
    default prefix is /usr/local, and your distribution certainly did not
    install xkbcomp there, 'make check' and 'ninja dist' for the X server
    build would fail because Xvfb would not start.
- supersedes U_xkbcomp_pkgconfig-add-bindir.patch
- refreshed xkbcomp.keyring; seems signing key changed, since this
  time the package has been released by Adam Jackson (before: Daniel
  Stone)? Hope I got this right ...
* Mon Nov 20 2017 zaitor@opensuse.org
- Add U_xkbcomp_pkgconfig-add-bindir.patch: pkgconfig: Add our
  bindir to xkbcomp.pc.
* Tue May  2 2017 sndirsch@suse.com
- Update to version 1.4.0
  * This xkbcomp release mostly contains a couple of bugfixes and
    parser improvements. Notably, ignoring keycodes that X11 can
    never support means that we can start using those keycodes,
    which xkbcommon supports.
- refreshed xkbcomp.keyring; seems signing key changed, since this
  time the package has been released by Daniel Stone (before: Peter
  Hutterer)? Hope I got this right ...
* Fri Nov 13 2015 mpluskal@suse.com
- Use url for source
- Add gpg signature
- Make building more verbose
* Tue Nov 10 2015 sndirsch@suse.com
- Update to version 1.3.1
  * Couple of minor fixes, the only user-visible change is that the
    warning when a key type is shortened is now on a verbosity level
    above the default verbosity. This effectively removes the warning
    below for all users of the german keyboard layout (and others):
    Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
* Sat Nov 29 2014 tobias.johannes.klausmann@mni.thm.de
- Update to version 1.3.0:
  + Support for multiple keysyms per level (#25025).
  + Misc fixes and changes all over the place.
  + UNIXOS2 support was dropped.
* Fri May 11 2012 vuntz@opensuse.org
- Split the pkg-config file in a devel subpackage, instead of
  removing it: it might be needed by some configure scripts.
- Remove xkbcomp-devel Provides from main subpackage now that we
  have a proper devel subpackage.
* Fri May 11 2012 coolo@suse.com
- remove the pkgconfig file - it requires all devel packages and
  nothing of that is needed to run xkbcomp
* Thu Apr 26 2012 vuntz@opensuse.org
- Version the Provides for xkbcomp-devel, as it can be useful.
* Sat Apr 14 2012 dimstar@opensuse.org
- Update to version 1.2.4:
  + Delete redundant redeclarations of extern Atoms in symbols.c
  + Make sure to leave room for trailing nil byte in yyGetNumber
  + include resets group compatibility modifiers fdo#43091
  + Correct our zeroing out of the row in InitRowInfo
  + Add missing _X_NORETURN to uFatalError
  + Add .pc file for version export
  + Print version number on -version.
  + Build system fixes.
- Changes from version 1.2.3:
  + Interp: Allow explicit Any/NoSymbol mappings
  + Constify LookupKeysym input argument
- Changes from version 1.2.2:
  + Interp: Ignore NoSymbol definitions
  + Interp: Don't make modifier lookup failure fatal
  + Replace repeated checks for gcc with _X_ATTRIBUTE_PRINTF from
    xproto
  + xkbcomp: Stop possible overflow in yyGetnumber. fdo#31647
  + Inline the oiText macro in the only place it's used
  + Build system fixes.
- Changes from version 1.2.1:
  + Build system fixes.
- Add pkgconfig(xproto) BuildRequires: new dependency.
- Provide xkbcomp-devel from the main-package. This is a compiler,
  and as such per definition a -devel tool. This helps to silence
  a rpmlint warning, as we now also have a .pc file.
* Fri Apr 13 2012 vuntz@opensuse.org
- Split xkbcomp from xorg-x11. Initial version: 1.2.0.