x{dm,dpyinfo,rdb}: refactor & move to pkgs/by-name from xorg namespace (#470232)

This commit is contained in:
Jo
2025-12-28 14:28:33 +00:00
committed by GitHub
7 changed files with 231 additions and 202 deletions
+86
View File
@@ -0,0 +1,86 @@
{
lib,
stdenv,
fetchFromGitLab,
pkg-config,
util-macros,
autoreconfHook,
wrapWithXFileSearchPathHook,
libx11,
libxau,
libxaw,
libxcrypt,
libxdmcp,
libxext,
libxft,
libxinerama,
libxmu,
libxpm,
libxrender,
libxt,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdm";
version = "1.1.17";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xorg";
repo = "app/xdm";
tag = "xdm-${finalAttrs.version}";
hash = "sha256-PhMctvL+Vp9uNmTtowMHzkoekieVCgNZCfUZ1XpjpyY=";
};
strictDeps = true;
nativeBuildInputs = [
pkg-config
util-macros
autoreconfHook
wrapWithXFileSearchPathHook
];
buildInputs = [
libx11
libxau
libxaw
libxcrypt
libxdmcp
libxext
libxft
libxinerama
libxmu
libxpm
libxrender
libxt
];
configureFlags = [
"ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
]
# checking for /dev/urandom... configure: error: cannot check for file existence when cross compiling
++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
"ac_cv_file__dev_urandom=true"
"ac_cv_file__dev_random=true"
];
installFlags = [ "appdefaultdir=$(out)/share/X11/app-defaults" ];
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xdm-(.*)" ]; };
meta = {
description = "X Display Manager with support for XDMCP, host chooser";
homepage = "https://gitlab.freedesktop.org/xorg/app/xdm";
license = with lib.licenses; [
mit
mitOpenGroup
x11
bsd3ClauseTso
bsd2
];
mainProgram = "xdm";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
+75
View File
@@ -0,0 +1,75 @@
{
lib,
stdenv,
fetchFromGitLab,
meson,
pkg-config,
ninja,
libx11,
libxcb,
libxext,
libxi,
libxtst,
libxcomposite,
libxinerama,
libxpresent,
libxrandr,
libxrender,
libxxf86dga,
libxxf86vm,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdpyinfo";
version = "1.4.0";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
owner = "xorg";
repo = "app/xdpyinfo";
tag = "xdpyinfo-${finalAttrs.version}";
hash = "sha256-zN2ViUJhrndqyLFCzcUi2DRg2K2q9eJXzHlUsMNmhNg=";
};
strictDeps = true;
nativeBuildInputs = [
meson
pkg-config
ninja
];
buildInputs = [
libx11
libxcb
libxext
libxi
libxtst
# optional deps
libxcomposite
libxinerama
libxpresent
libxrandr
libxrender
libxxf86dga
libxxf86vm
];
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xdpyinfo-(.*)" ]; };
meta = {
description = "display information utility for X";
longDescription = ''
xdpyinfo is a utility for displaying information about an X server.
It is used to examine the capabilities of a server, the predefined
values for various parameters used in communicating between clients
and the server, and the different types of screens, visuals, and X11
protocol extensions that are available.
'';
homepage = "https://gitlab.freedesktop.org/xorg/app/xdpyinfo";
license = lib.licenses.mitOpenGroup;
mainProgram = "xdpyinfo";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
+58
View File
@@ -0,0 +1,58 @@
{
lib,
stdenv,
fetchFromGitLab,
autoreconfHook,
pkg-config,
util-macros,
xorgproto,
libx11,
libxmu,
mcpp,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xrdb";
version = "1.2.2";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
group = "xorg";
owner = "app";
repo = "xrdb";
tag = "xrdb-${finalAttrs.version}";
hash = "sha256-XCi/E6tVaLYGRsMWJalCl1J8VIT4xV6KFuo+K//LQGY=";
};
strictDeps = true;
nativeBuildInputs = [
autoreconfHook
pkg-config
util-macros
];
buildInputs = [
xorgproto
libx11
libxmu
];
# replace gcc with mcpp as preprocessor to reduce the closure size
# see https://github.com/NixOS/nixpkgs/issues/9480
configureFlags = [ "--with-cpp=${lib.getExe mcpp}" ];
passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex=xrdb-(.*)" ]; };
meta = {
description = "X resource database utility";
homepage = "https://gitlab.freedesktop.org/xorg/app/xrdb";
license = with lib.licenses; [
hpndDec
mitOpenGroup
];
mainProgram = "xrdb";
maintainers = [ ];
platforms = lib.platforms.unix;
};
})
+6 -156
View File
@@ -121,6 +121,8 @@
xconsole,
xcursorgen,
xcursor-themes,
xdm,
xdpyinfo,
xdriinfo,
xev,
xeyes,
@@ -145,6 +147,7 @@
xorg-sgml-doctools,
xprop,
xrandr,
xrdb,
xrefresh,
xset,
xsetroot,
@@ -196,6 +199,8 @@ self: with self; {
xcompmgr
xconsole
xcursorgen
xdm
xdpyinfo
xdriinfo
xev
xeyes
@@ -216,6 +221,7 @@ self: with self; {
xorgproto
xprop
xrandr
xrdb
xrefresh
xset
xsetroot
@@ -406,124 +412,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xdm = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libX11,
libXau,
libXaw,
libXdmcp,
libXext,
libXft,
libXinerama,
libXmu,
libXpm,
xorgproto,
libXrender,
libXt,
wrapWithXFileSearchPathHook,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdm";
version = "1.1.17";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xdm-1.1.17.tar.xz";
sha256 = "0spbxjxxrnfxf8gqncd7bry3z7dvr74ba987cx9iq0qsj7qax54l";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [
pkg-config
wrapWithXFileSearchPathHook
];
buildInputs = [
libX11
libXau
libXaw
libXdmcp
libXext
libXft
libXinerama
libXmu
libXpm
xorgproto
libXrender
libXt
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xdpyinfo = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libdmx,
libX11,
libxcb,
libXcomposite,
libXext,
libXi,
libXinerama,
xorgproto,
libXrender,
libXtst,
libXxf86dga,
libXxf86misc,
libXxf86vm,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xdpyinfo";
version = "1.3.4";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xdpyinfo-1.3.4.tar.xz";
sha256 = "0aw2yhx4ys22231yihkzhnw9jsyzksl4yyf3sx0689npvf0sbbd8";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libdmx
libX11
libxcb
libXcomposite
libXext
libXi
libXinerama
xorgproto
libXrender
libXtst
libXxf86dga
libXxf86misc
libXxf86vm
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86inputevdev = callPackage (
{
@@ -2698,44 +2586,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xrdb = callPackage (
{
stdenv,
pkg-config,
fetchurl,
libX11,
libXmu,
xorgproto,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xrdb";
version = "1.2.2";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/app/xrdb-1.2.2.tar.xz";
sha256 = "1x1ka0zbcw66a06jvsy92bvnsj9vxbvnq1hbn1az4f0v4fmzrx9i";
};
hardeningDisable = [
"bindnow"
"relro"
];
strictDeps = true;
nativeBuildInputs = [ pkg-config ];
buildInputs = [
libX11
libXmu
xorgproto
];
passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
meta = {
pkgConfigModules = [ ];
platforms = lib.platforms.unix;
};
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xtrap = callPackage (
{
@@ -452,6 +452,8 @@ print OUT <<EOF;
xconsole,
xcursorgen,
xcursor-themes,
xdm,
xdpyinfo,
xdriinfo,
xev,
xeyes,
@@ -476,6 +478,7 @@ print OUT <<EOF;
xorg-sgml-doctools,
xprop,
xrandr,
xrdb,
xrefresh,
xset,
xsetroot,
@@ -527,6 +530,8 @@ self: with self; {
xcompmgr
xconsole
xcursorgen
xdm
xdpyinfo
xdriinfo
xev
xeyes
@@ -547,6 +552,7 @@ self: with self; {
xorgproto
xprop
xrandr
xrdb
xrefresh
xset
xsetroot
-43
View File
@@ -59,10 +59,6 @@
let
inherit (stdenv.hostPlatform) isDarwin;
malloc0ReturnsNullCrossFlag = lib.optional (
stdenv.hostPlatform != stdenv.buildPlatform
) "--enable-malloc0returnsnull";
addMainProgram =
pkg:
{
@@ -115,38 +111,6 @@ self: super:
mkfontdir = xorg.mkfontscale;
xdpyinfo = super.xdpyinfo.overrideAttrs (attrs: {
configureFlags = attrs.configureFlags or [ ] ++ malloc0ReturnsNullCrossFlag;
preConfigure =
attrs.preConfigure or ""
# missing transitive dependencies
+ lib.optionalString stdenv.hostPlatform.isStatic ''
export NIX_CFLAGS_LINK="$NIX_CFLAGS_LINK -lXau -lXdmcp"
'';
meta = attrs.meta // {
mainProgram = "xdpyinfo";
};
});
xdm = super.xdm.overrideAttrs (attrs: {
buildInputs = attrs.buildInputs ++ [ libxcrypt ];
configureFlags =
attrs.configureFlags or [ ]
++ [
"ac_cv_path_RAWCPP=${stdenv.cc.targetPrefix}cpp"
]
++
lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform)
# checking for /dev/urandom... configure: error: cannot check for file existence when cross compiling
[
"ac_cv_file__dev_urandom=true"
"ac_cv_file__dev_random=true"
];
meta = attrs.meta // {
mainProgram = "xdm";
};
});
xf86inputevdev = super.xf86inputevdev.overrideAttrs (attrs: {
outputs = [
"out"
@@ -710,13 +674,6 @@ self: super:
xpr = addMainProgram super.xpr { };
xrdb = super.xrdb.overrideAttrs (attrs: {
configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ];
meta = attrs.meta // {
mainProgram = "xrdb";
};
});
xwd = addMainProgram super.xwd { };
}
-3
View File
@@ -1,6 +1,4 @@
mirror://xorg/individual/app/xclock-1.1.1.tar.xz
mirror://xorg/individual/app/xdm-1.1.17.tar.xz
mirror://xorg/individual/app/xdpyinfo-1.3.4.tar.xz
mirror://xorg/individual/app/xfd-1.1.4.tar.xz
mirror://xorg/individual/app/xfs-1.2.2.tar.xz
mirror://xorg/individual/app/xinit-1.4.4.tar.xz
@@ -10,7 +8,6 @@ mirror://xorg/individual/app/xkbevd-1.1.6.tar.xz
mirror://xorg/individual/app/xkbprint-1.0.7.tar.xz
mirror://xorg/individual/app/xload-1.2.0.tar.xz
mirror://xorg/individual/app/xpr-1.2.0.tar.xz
mirror://xorg/individual/app/xrdb-1.2.2.tar.xz
mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2
mirror://xorg/individual/app/xwd-1.0.9.tar.xz
mirror://xorg/individual/driver/xf86-input-evdev-2.11.0.tar.xz