From 203364c3a78622c67f9caca6aa98e80da92d3109 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 23 Aug 2025 13:52:48 +0200 Subject: [PATCH] libxi: refactor, move to pkgs/by-name and rename from xorg.libXi --- pkgs/by-name/li/libxi/package.nix | 76 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 42 +--------- .../x11/xorg/generate-expr-from-tarballs.pl | 3 + pkgs/servers/x11/xorg/overrides.nix | 18 ----- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 81 insertions(+), 59 deletions(-) create mode 100644 pkgs/by-name/li/libxi/package.nix diff --git a/pkgs/by-name/li/libxi/package.nix b/pkgs/by-name/li/libxi/package.nix new file mode 100644 index 000000000000..3cbac22c36f3 --- /dev/null +++ b/pkgs/by-name/li/libxi/package.nix @@ -0,0 +1,76 @@ +{ + lib, + stdenv, + fetchurl, + pkg-config, + xorgproto, + libx11, + libxext, + libxfixes, + writeScript, + testers, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "libxi"; + version = "1.8.2"; + + outputs = [ + "out" + "dev" + "man" + "doc" + ]; + + src = fetchurl { + url = "mirror://xorg/individual/lib/libXi-${finalAttrs.version}.tar.xz"; + hash = "sha256-0OBVXlPW4hFOq/pEImuhYtJwhQGiXhjZnPs1wJTGwQQ="; + }; + + strictDeps = true; + + nativeBuildInputs = [ pkg-config ]; + + buildInputs = [ + xorgproto + libx11 + libxext + libxfixes + ]; + + propagatedBuildInputs = [ + xorgproto + # header file dependencies + libx11 + libxext + libxfixes + ]; + + configureFlags = + lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "xorg_cv_malloc0_returns_null=no" + ++ lib.optional stdenv.hostPlatform.isStatic "--disable-shared"; + + passthru = { + updateScript = writeScript "update-${finalAttrs.pname}" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p common-updater-scripts + version="$(list-directory-versions --pname libXi \ + --url https://xorg.freedesktop.org/releases/individual/lib/ \ + | sort -V | tail -n1)" + update-source-version ${finalAttrs.pname} "$version" + ''; + tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; + }; + + meta = { + description = "library for the X Input Extension"; + homepage = "https://gitlab.freedesktop.org/xorg/lib/libxi"; + license = with lib.licenses; [ + mitOpenGroup + hpnd + mit + ]; + maintainers = [ ]; + pkgConfigModules = [ "xi" ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 470a7319989b..f9014e1b707b 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -39,6 +39,7 @@ libxfont_1, libxfont_2, libxft, + libxi, libxmu, libxpm, libxrandr, @@ -144,6 +145,7 @@ self: with self; { libXfont2 = libxfont_2; libXfont = libxfont_1; libXft = libxft; + libXi = libxi; libXmu = libxmu; libXpm = libxpm; libXrandr = libxrandr; @@ -1768,46 +1770,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - libXi = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libX11, - libXext, - libXfixes, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "libXi"; - version = "1.8.2"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/lib/libXi-1.8.2.tar.xz"; - sha256 = "0161qsac0dgvkkcihpm2062p1lk2l5mj4i7smd713qnnadg5bq6h"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libX11 - libXext - libXfixes - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ "xi" ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! libXinerama = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 974d338324b7..7707038ca648 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -70,6 +70,7 @@ $pcMap{"xfixes"} = "libXfixes"; $pcMap{"xfont"} = "libXfont"; $pcMap{"xfont2"} = "libXfont2"; $pcMap{"xft"} = "libXft"; +$pcMap{"xi"} = "libXi"; $pcMap{"xmu"} = "libXmu"; $pcMap{"xmuu"} = "libXmu"; $pcMap{"xpm"} = "libXpm"; @@ -360,6 +361,7 @@ print OUT <