xf86-video-tdfx: refactor, move to pkgs/by-name & rename from xorg.xf86videotdfx

relevant changes:
- switch to GitLab source instead of release tarball
- mark broken when cross compiling because some weird configure error:
  - upstream https://gcc.gnu.org/bugzilla/show_bug.cgi?id=26046
- mark broken on aarch64 (missing I/O port functions https://stackoverflow.com/a/70538833)
This commit is contained in:
quantenzitrone
2026-01-10 11:51:53 +01:00
parent 946d6c6427
commit 3b9aa508e8
4 changed files with 63 additions and 41 deletions
@@ -0,0 +1,59 @@
{
lib,
stdenv,
fetchFromGitLab,
autoreconfHook,
pkg-config,
util-macros,
xorg-server,
xorgproto,
libdrm,
libpciaccess,
nix-update-script,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xf86-video-tdfx";
version = "1.5.0";
src = fetchFromGitLab {
domain = "gitlab.freedesktop.org";
group = "xorg";
owner = "driver";
repo = "xf86-video-tdfx";
tag = "xf86-video-tdfx-${finalAttrs.version}";
hash = "sha256-95LFAPBT4nTuTLx83wsdOCwLOLed39WtP5FXPqiO/LI=";
};
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-tdfx-(.*)" ]; };
};
meta = {
description = "3Dfx video driver for the Xorg X server";
homepage = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-tdfx";
license = lib.licenses.mit;
maintainers = [ ];
platforms = lib.platforms.unix;
broken =
# configure: error: cannot check for file existence when cross compiling
(stdenv.hostPlatform != stdenv.buildPlatform)
# broken due to missing I/O Port syscalls
|| stdenv.hostPlatform.isAarch64;
};
})
+2 -40
View File
@@ -141,6 +141,7 @@
xf86-video-suncg6,
xf86-video-sunffb,
xf86-video-sunleo,
xf86-video-tdfx,
xf86-video-v4l,
xfd,
xfontsel,
@@ -361,6 +362,7 @@ self: with self; {
xf86videosuncg6 = xf86-video-suncg6;
xf86videosunffb = xf86-video-sunffb;
xf86videosunleo = xf86-video-sunleo;
xf86videotdfx = xf86-video-tdfx;
xf86videov4l = xf86-video-v4l;
xkeyboardconfig = xkeyboard-config;
xorgcffiles = xorg-cf-files;
@@ -1384,46 +1386,6 @@ self: with self; {
})
) { };
# THIS IS A GENERATED FILE. DO NOT EDIT!
xf86videotdfx = callPackage (
{
stdenv,
pkg-config,
fetchurl,
xorgproto,
libdrm,
libpciaccess,
xorgserver,
testers,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "xf86-video-tdfx";
version = "1.5.0";
builder = ./builder.sh;
src = fetchurl {
url = "mirror://xorg/individual/driver/xf86-video-tdfx-1.5.0.tar.bz2";
sha256 = "0qc5wzwf1n65si9rc37bh224pzahh7gp67vfimbxs0b9yvhq0i9g";
};
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!
xf86videotrident = callPackage (
{
@@ -473,6 +473,7 @@ print OUT <<EOF;
xf86-video-suncg6,
xf86-video-sunffb,
xf86-video-sunleo,
xf86-video-tdfx,
xf86-video-v4l,
xfd,
xfontsel,
@@ -693,6 +694,7 @@ self: with self; {
xf86videosuncg6 = xf86-video-suncg6;
xf86videosunffb = xf86-video-sunffb;
xf86videosunleo = xf86-video-sunleo;
xf86videotdfx = xf86-video-tdfx;
xf86videov4l = xf86-video-v4l;
xkeyboardconfig = xkeyboard-config;
xorgcffiles = xorg-cf-files;
-1
View File
@@ -27,7 +27,6 @@ mirror://xorg/individual/driver/xf86-video-qxl-0.1.6.tar.xz
mirror://xorg/individual/driver/xf86-video-r128-6.13.0.tar.xz
mirror://xorg/individual/driver/xf86-video-savage-2.4.1.tar.xz
mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.10.tar.xz
mirror://xorg/individual/driver/xf86-video-tdfx-1.5.0.tar.bz2
mirror://xorg/individual/driver/xf86-video-trident-1.4.0.tar.xz
mirror://xorg/individual/driver/xf86-video-vboxvideo-1.0.1.tar.xz
mirror://xorg/individual/driver/xf86-video-vesa-2.6.0.tar.xz