diff options
Diffstat (limited to 'pkgs/os-specific/linux/kbd/default.nix')
-rw-r--r-- | pkgs/os-specific/linux/kbd/default.nix | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/pkgs/os-specific/linux/kbd/default.nix b/pkgs/os-specific/linux/kbd/default.nix index 7ee449ff33e..c7a59e59cab 100644 --- a/pkgs/os-specific/linux/kbd/default.nix +++ b/pkgs/os-specific/linux/kbd/default.nix @@ -1,15 +1,26 @@ -{ stdenv, fetchurl, autoreconfHook, - gzip, bzip2, pkgconfig, flex, check, - pam, coreutils +{ lib +, stdenv +, fetchurl +, nixosTests +, autoreconfHook +, pkg-config +, flex +, check +, pam +, coreutils +, gzip +, bzip2 +, xz +, zstd }: stdenv.mkDerivation rec { pname = "kbd"; - version = "2.0.4"; + version = "2.4.0"; src = fetchurl { url = "mirror://kernel/linux/utils/kbd/${pname}-${version}.tar.xz"; - sha256 = "124swm93dm4ca0pifgkrand3r9gvj3019d4zkfxsj9djpvv0mnaz"; + sha256 = "17wvrqz2kk0w87idinhyvd31ih1dp7ldfl2yfx7ailygb0279w2m"; }; configureFlags = [ @@ -18,13 +29,8 @@ stdenv.mkDerivation rec { "--disable-nls" ]; - patches = [ ./search-paths.patch ]; - postPatch = '' - # Add Neo keymap subdirectory - sed -i -e 's,^KEYMAPSUBDIRS *= *,&i386/neo ,' data/Makefile.am - # Renaming keymaps with name clashes, because loadkeys just picks # the first keymap it sees. The clashing names lead to e.g. # "loadkeys no" defaulting to a norwegian dvorak map instead of @@ -33,21 +39,16 @@ stdenv.mkDerivation rec { mv qwertz/cz{,-qwertz}.map mv olpc/es{,-olpc}.map mv olpc/pt{,-olpc}.map - mv dvorak/{no.map,dvorak-no.map} mv fgGIod/trf{,-fgGIod}.map mv colemak/{en-latin9,colemak}.map popd - # Fix the path to gzip/bzip2. - substituteInPlace src/libkeymap/findfile.c \ - --replace gzip ${gzip}/bin/gzip \ - --replace bzip2 ${bzip2.bin}/bin/bzip2 \ - - # We get a warning in armv5tel-linux and the fuloong2f, so we - # disable -Werror in it. - ${stdenv.lib.optionalString (stdenv.isAarch32 || stdenv.hostPlatform.isMips) '' - sed -i s/-Werror// src/Makefile.am - ''} + # Fix paths to decompressors. Trailing space to avoid replacing `xz` in `".xz"`. + substituteInPlace src/libkbdfile/kbdfile.c \ + --replace 'gzip ' '${gzip}/bin/gzip ' \ + --replace 'bzip2 ' '${bzip2.bin}/bin/bzip2 ' \ + --replace 'xz ' '${xz.bin}/bin/xz ' \ + --replace 'zstd ' '${zstd.bin}/bin/zstd ' ''; postInstall = '' @@ -57,16 +58,18 @@ stdenv.mkDerivation rec { done ''; - buildInputs = [ check pam ]; - nativeBuildInputs = [ autoreconfHook pkgconfig flex ]; + nativeBuildInputs = [ autoreconfHook pkg-config flex ]; - makeFlags = [ "setowner=" ]; + passthru.tests = { + inherit (nixosTests) keymap kbd-setfont-decompress; + }; - meta = with stdenv.lib; { - homepage = "ftp://ftp.altlinux.org/pub/people/legion/kbd/"; - description = "Linux keyboard utilities and keyboard maps"; + meta = with lib; { + homepage = "https://kbd-project.org/"; + description = "Linux keyboard tools and keyboard maps"; platforms = platforms.linux; license = licenses.gpl2Plus; + maintainers = with maintainers; [ davidak ]; }; } |