From 4624f7e71de1e3f704f8527da08af399405b1ea4 Mon Sep 17 00:00:00 2001 From: quantenzitrone Date: Sat, 10 Jan 2026 19:21:39 +0100 Subject: [PATCH] xf86-video-voodoo: refactor, move to pkgs/by-name & rename from xorg.xf86videovoodoo relevant changes: - switch to GitLab source instead of release tarball --- lib/licenses.nix | 12 ++++ pkgs/by-name/xf/xf86-video-voodoo/package.nix | 57 +++++++++++++++++++ pkgs/servers/x11/xorg/default.nix | 40 +------------ .../x11/xorg/generate-expr-from-tarballs.pl | 2 + pkgs/servers/x11/xorg/tarballs.list | 1 - 5 files changed, 73 insertions(+), 39 deletions(-) create mode 100644 pkgs/by-name/xf/xf86-video-voodoo/package.nix diff --git a/lib/licenses.nix b/lib/licenses.nix index 63fc954d50a6..7a594d9d26f0 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -742,6 +742,18 @@ lib.mapAttrs mkLicense ( fullName = "Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer"; }; + hpndSellVariantSafetyClause = { + fullName = "HPND - sell variant with safety critical systems clause"; + url = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo/-/blob/68a5b6d98ae34749cca889f4373b4043d00bfe6a/src/voodoo_dga.c#L12-33"; + # TODO: if the license gets accepted to spdx then + # add spdxId + # else + # remove license + # && replace reference with whatever this license is supposed to be then + # https://github.com/spdx/license-list-XML/issues/2922 + # spdxId = "HPND-sell-variant-safety-clause"; + }; + hpndDec = { fullName = "Historical Permission Notice and Disclaimer - DEC variant"; spdxId = "HPND-DEC"; diff --git a/pkgs/by-name/xf/xf86-video-voodoo/package.nix b/pkgs/by-name/xf/xf86-video-voodoo/package.nix new file mode 100644 index 000000000000..3b067f3ec227 --- /dev/null +++ b/pkgs/by-name/xf/xf86-video-voodoo/package.nix @@ -0,0 +1,57 @@ +{ + lib, + stdenv, + fetchFromGitLab, + autoreconfHook, + pkg-config, + util-macros, + xorg-server, + xorgproto, + libpciaccess, + nix-update-script, +}: +stdenv.mkDerivation (finalAttrs: { + pname = "xf86-video-voodoo"; + version = "1.2.6"; + + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + group = "xorg"; + owner = "driver"; + repo = "xf86-video-voodoo"; + tag = "xf86-video-voodoo-${finalAttrs.version}"; + hash = "sha256-OuKGgrdGIIUF6CHD1BwO7ZQgvcbhGHQETExv+Ra0X2E="; + }; + + strictDeps = true; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + util-macros + xorg-server # for some autoconf macros + ]; + + buildInputs = [ + xorg-server + xorgproto + libpciaccess + ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ "--version-regex=xf86-video-voodoo-(.*)" ]; + }; + + meta = { + description = "Voodoo video driver for the Xorg X server"; + homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-voodoo"; + license = with lib.licenses; [ + # "Relicensed from GPL to the X license by consent of the author" + x11 + hpndSellVariantSafetyClause + mit + ]; + maintainers = [ ]; + platforms = lib.platforms.unix; + }; +}) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index df2201766ad5..1249e05ee808 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -170,6 +170,7 @@ xf86-video-vbox, xf86-video-vesa, xf86-video-vmware, + xf86-video-voodoo, xfd, xfontsel, xfs, @@ -426,6 +427,7 @@ self: with self; { xf86videovboxvideo = xf86-video-vbox; xf86videovesa = xf86-video-vesa; xf86videovmware = xf86-video-vmware; + xf86videovoodoo = xf86-video-voodoo; xkeyboardconfig = xkeyboard-config; xorgcffiles = xorg-cf-files; xorgdocs = xorg-docs; @@ -480,42 +482,4 @@ self: with self; { }) ) { }; - # THIS IS A GENERATED FILE. DO NOT EDIT! - xf86videovoodoo = callPackage ( - { - stdenv, - pkg-config, - fetchurl, - xorgproto, - libpciaccess, - xorgserver, - testers, - }: - stdenv.mkDerivation (finalAttrs: { - pname = "xf86-video-voodoo"; - version = "1.2.6"; - builder = ./builder.sh; - src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-voodoo-1.2.6.tar.xz"; - sha256 = "00pn5826aazsdipf7ny03s1lypzid31fmswl8y2hrgf07bq76ab2"; - }; - hardeningDisable = [ - "bindnow" - "relro" - ]; - strictDeps = true; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ - xorgproto - libpciaccess - xorgserver - ]; - passthru.tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage; - meta = { - pkgConfigModules = [ ]; - platforms = lib.platforms.unix; - }; - }) - ) { }; - } diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 8ebb8c655666..ab31d4f787db 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -502,6 +502,7 @@ print OUT <