From cc984a2d2e948fe74de939f1d60243fb5e8f082b Mon Sep 17 00:00:00 2001 From: Zitrone Date: Mon, 9 Jun 2025 02:26:58 +0200 Subject: [PATCH] xmodmap: refactor and migrate to pkgs/by-name from xorg namespace --- pkgs/by-name/xm/xmodmap/package.nix | 55 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 38 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 1 - pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 59 insertions(+), 38 deletions(-) create mode 100644 pkgs/by-name/xm/xmodmap/package.nix diff --git a/pkgs/by-name/xm/xmodmap/package.nix b/pkgs/by-name/xm/xmodmap/package.nix new file mode 100644 index 000000000000..eb6e40c439a6 --- /dev/null +++ b/pkgs/by-name/xm/xmodmap/package.nix @@ -0,0 +1,55 @@ +{ + lib, + stdenv, + fetchurl, + pkg-config, + libx11, + xorgproto, + writeScript, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xmodmap"; + version = "1.0.11"; + + src = fetchurl { + url = "mirror://xorg/individual/app/xmodmap-${finalAttrs.version}.tar.xz"; + hash = "sha256-mi+BaPewvDgoKIR0A5Astr8XXhdlizYYnqyH7dqHfoE="; + }; + + strictDeps = true; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + libx11 + xorgproto + ]; + + passthru = { + updateScript = writeScript "update-${finalAttrs.pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts + version="$(list-directory-versions --pname ${finalAttrs.pname} \ + --url https://xorg.freedesktop.org/releases/individual/app/ \ + | sort -V | tail -n1)" + update-source-version ${finalAttrs.pname} "$version" + ''; + }; + + meta = { + description = "Utility for modifying keymaps and pointer button mappings in X"; + longDescription = '' + The xmodmap program is used to edit and display the keyboard modifier map and keymap table + that are used by client applications to convert event keycodes into keysyms. It is usually run + from the user's session startup script to configure the keyboard according to personal tastes. + ''; + homepage = "https://gitlab.freedesktop.org/xorg/app/xmodmap"; + license = with lib.licenses; [ + mit + mitOpenGroup + ]; + mainProgram = "xmodmap"; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 017cd8bb0dbe..21ed856105e8 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -28,6 +28,7 @@ xlsatoms, xlsclients, xlsfonts, + xmodmap, xorg-cf-files, xorg-docs, xorgproto, @@ -55,6 +56,7 @@ self: with self; { xlsatoms xlsclients xlsfonts + xmodmap xorgproto xtrans ; @@ -6970,42 +6972,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xmodmap = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - libX11, - xorgproto, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xmodmap"; - version = "1.0.11"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/app/xmodmap-1.0.11.tar.xz"; - sha256 = "10byhzdfv1xckqc3d2v52xg1ggxn5j806x4450l3ig5hyxl82bws"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - libX11 - xorgproto - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xmore = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index fa63c30ba271..0b4c15925a56 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -313,6 +313,7 @@ print OUT <