From a03641b7c80a81201a4d0c48622be6a5f5d2c361 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 10 Jan 2026 04:51:46 +0100 Subject: [PATCH 1/2] xf86-video-qxl: refactor, move to pkgs/by-name & rename from xorg.xf86videoqxl relevant changes: - switch to GitLab source instead of release tarball - mark broken on aarch64 (missing I/O port functions https://stackoverflow.com/a/70538833) --- pkgs/by-name/xf/xf86-video-qxl/package.nix | 59 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 44 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/overrides.nix | 4 -- pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 63 insertions(+), 47 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-qxl/package.nix diff --git a/pkgs/by-name/xf/xf86-video-qxl/package.nix b/pkgs/by-name/xf/xf86-video-qxl/package.nix new file mode 100644 index 000000000000..54c6d3865e18 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-qxl/package.nix @@ -0,0 +1,59 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libdrm, + libpciaccess, + spice-protocol, + udev, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-qxl"; + version = "0.1.6"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-qxl"; + tag = "xf86-video-qxl-${finalAttrs.version}"; + hash = "sha256-g7NvAjmvPjyqUTXnZREDDs18O2e9Zl5hZeAza2a/1Jw="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libdrm + libpciaccess + spice-protocol + udev + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-qxl-(.*)" ]; }; + }; + + meta = { + description = "Xorg video driver for the QXL virtual GPU"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-qxl"; + license = lib.licenses.mit; + maintainers = [ ]; + platforms = lib.platforms.unix; + broken = stdenv.hostPlatform.isAarch64; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 9923fae3d974..00e3088db15f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -135,6 +135,7 @@ xf86-video-ark, xf86-video-geode, xf86-video-nouveau, + xf86-video-qxl, xf86-video-s3virge, xf86-video-v4l, xfd, @@ -350,6 +351,7 @@ self: with self; { xf86videoark = xf86-video-ark; xf86videogeode = xf86-video-geode; xf86videonouveau = xf86-video-nouveau; + xf86videoqxl = xf86-video-qxl; xf86videos3virge = xf86-video-s3virge; xf86videov4l = xf86-video-v4l; xkeyboardconfig = xkeyboard-config; @@ -1214,48 +1216,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videoqxl = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libdrm, - udev, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-qxl"; - version = "0.1.6"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-qxl-0.1.6.tar.xz"; - sha256 = "0pwncx60r1xxk8kpp9a46ga5h7k7hjqf14726v0gra27vdc9blra"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libdrm - udev - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videor128 = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index aeb72a556c36..7e0a8b9136a8 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -467,6 +467,7 @@ print OUT < Date: Sat, 10 Jan 2026 05:05:39 +0100 Subject: [PATCH 2/2] xf86-video-r128: refactor, move to pkgs/by-name & rename from xorg.xf86videor128 relevant changes: - switch to GitLab source instead of release tarball --- pkgs/by-name/xf/xf86-video-r128/package.nix | 57 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 42 +------------- .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 4 files changed, 61 insertions(+), 41 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-r128/package.nix diff --git a/pkgs/by-name/xf/xf86-video-r128/package.nix b/pkgs/by-name/xf/xf86-video-r128/package.nix new file mode 100644 index 000000000000..7f3bf884eb03 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-r128/package.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libdrm, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-r128"; + version = "6.13.0"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-r128"; + tag = "xf86-video-r128-${finalAttrs.version}"; + hash = "sha256-f75PQ3pmWtyqeEfrMQpO31U0QOydlmQ49gJuvneRoso="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libdrm + libpciaccess + ]; + + passthru = { + updateScript = nix-update-script { extraArgs = [ "--version-regex=xf86-video-r128-(.*)" ]; }; + }; + + meta = { + description = "ATI Rage 128 video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-r128"; + license = with lib.licenses; [ + mit + hpndSellVariant + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 00e3088db15f..ada0cd2d26cb 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -136,6 +136,7 @@ xf86-video-geode, xf86-video-nouveau, xf86-video-qxl, + xf86-video-r128, xf86-video-s3virge, xf86-video-v4l, xfd, @@ -352,6 +353,7 @@ self: with self; { xf86videogeode = xf86-video-geode; xf86videonouveau = xf86-video-nouveau; xf86videoqxl = xf86-video-qxl; + xf86videor128 = xf86-video-r128; xf86videos3virge = xf86-video-s3virge; xf86videov4l = xf86-video-v4l; xkeyboardconfig = xkeyboard-config; @@ -1216,46 +1218,6 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videor128 = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libdrm, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-r128"; - version = "6.13.0"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-r128-6.13.0.tar.xz"; - sha256 = "0igpfgls5nx4sz8a7yppr42qi37prqmxsy08zqbxbv81q9dfs2zj"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libdrm - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videosavage = callPackage ( { diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 7e0a8b9136a8..6b7dd69883ea 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -468,6 +468,7 @@ print OUT <