From c20d9c02ec03c312fae248f51b437c18476937c1 Mon Sep 17 00:00:00 2001 From: Jasi Date: Fri, 8 Aug 2025 23:30:32 -0400 Subject: [PATCH 1/4] virglrenderer: add normalcea as maintainer --- pkgs/by-name/vi/virglrenderer/package.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/by-name/vi/virglrenderer/package.nix b/pkgs/by-name/vi/virglrenderer/package.nix index b7f7f9fd69c4..9bbd7582d6a7 100644 --- a/pkgs/by-name/vi/virglrenderer/package.nix +++ b/pkgs/by-name/vi/virglrenderer/package.nix @@ -76,6 +76,9 @@ stdenv.mkDerivation rec { homepage = "https://virgil3d.github.io/"; license = licenses.mit; platforms = platforms.unix; - maintainers = [ maintainers.xeji ]; + maintainers = [ + maintainers.xeji + maintainers.normalcea + ]; }; } From 4704387db26b048def40eec1bf1564df8b2964c5 Mon Sep 17 00:00:00 2001 From: Jasi Date: Sat, 9 Aug 2025 00:03:00 -0400 Subject: [PATCH 2/4] virglrenderer: update `meta` attributes --- pkgs/by-name/vi/virglrenderer/package.nix | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pkgs/by-name/vi/virglrenderer/package.nix b/pkgs/by-name/vi/virglrenderer/package.nix index 9bbd7582d6a7..0456ca04ee1d 100644 --- a/pkgs/by-name/vi/virglrenderer/package.nix +++ b/pkgs/by-name/vi/virglrenderer/package.nix @@ -70,15 +70,14 @@ stdenv.mkDerivation rec { }; }; - meta = with lib; { - description = "Virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering"; - mainProgram = "virgl_test_server"; - homepage = "https://virgil3d.github.io/"; - license = licenses.mit; - platforms = platforms.unix; - maintainers = [ - maintainers.xeji - maintainers.normalcea + meta = { + description = "Virtual 3D GPU for use inside QEMU virtual machines"; + homepage = "https://docs.mesa3d.org/drivers/virgl"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + normalcea ]; + mainProgram = "virgl_test_server"; + platforms = lib.platforms.unix; }; } From 4802caea57987e99fa7c53bea9520b4b418a2ca8 Mon Sep 17 00:00:00 2001 From: Jasi Date: Fri, 8 Aug 2025 23:18:17 -0400 Subject: [PATCH 3/4] virglrenderer: use `fetchFromGitLab`; use `finalAttrs` --- pkgs/by-name/vi/virglrenderer/package.nix | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/pkgs/by-name/vi/virglrenderer/package.nix b/pkgs/by-name/vi/virglrenderer/package.nix index 0456ca04ee1d..cebde9224bfd 100644 --- a/pkgs/by-name/vi/virglrenderer/package.nix +++ b/pkgs/by-name/vi/virglrenderer/package.nix @@ -1,7 +1,7 @@ { lib, stdenv, - fetchurl, + fetchFromGitLab, meson, ninja, pkg-config, @@ -17,16 +17,19 @@ vulkanSupport ? stdenv.hostPlatform.isLinux, vulkan-headers, vulkan-loader, - gitUpdater, + nix-update-script, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "virglrenderer"; version = "1.1.1"; - src = fetchurl { - url = "https://gitlab.freedesktop.org/virgl/virglrenderer/-/archive/${version}/virglrenderer-${version}.tar.bz2"; - hash = "sha256-D+SJqBL76z1nGBmcJ7Dzb41RvFxU2Ak6rVOwDRB94rM="; + src = fetchFromGitLab { + domain = "gitlab.freedesktop.org"; + owner = "virgl"; + repo = "virglrenderer"; + tag = finalAttrs.version; + hash = "sha256-ah6+AAf7B15rPMb4uO873wieT3+gf/5iGH+ZFoZKAAI="; }; separateDebugInfo = true; @@ -64,10 +67,7 @@ stdenv.mkDerivation rec { ]; passthru = { - updateScript = gitUpdater { - url = "https://gitlab.freedesktop.org/virgl/virglrenderer.git"; - rev-prefix = "virglrenderer-"; - }; + updateScript = nix-update-script { }; }; meta = { @@ -80,4 +80,4 @@ stdenv.mkDerivation rec { mainProgram = "virgl_test_server"; platforms = lib.platforms.unix; }; -} +}) From accd401c6616d963ccbb42551ffb7d800e2aac98 Mon Sep 17 00:00:00 2001 From: Jasi Date: Fri, 8 Aug 2025 23:22:16 -0400 Subject: [PATCH 4/4] virglrenderer: refactor --- pkgs/by-name/vi/virglrenderer/package.nix | 49 +++++++++++++---------- 1 file changed, 28 insertions(+), 21 deletions(-) diff --git a/pkgs/by-name/vi/virglrenderer/package.nix b/pkgs/by-name/vi/virglrenderer/package.nix index cebde9224bfd..046c23c10acc 100644 --- a/pkgs/by-name/vi/virglrenderer/package.nix +++ b/pkgs/by-name/vi/virglrenderer/package.nix @@ -11,13 +11,13 @@ libX11, libdrm, libgbm, - nativeContextSupport ? stdenv.hostPlatform.isLinux, - vaapiSupport ? !stdenv.hostPlatform.isDarwin, libva, - vulkanSupport ? stdenv.hostPlatform.isLinux, vulkan-headers, vulkan-loader, nix-update-script, + vulkanSupport ? stdenv.hostPlatform.isLinux, + nativeContextSupport ? stdenv.hostPlatform.isLinux, + vaapiSupport ? !stdenv.hostPlatform.isDarwin, }: stdenv.mkDerivation (finalAttrs: { @@ -34,21 +34,6 @@ stdenv.mkDerivation (finalAttrs: { separateDebugInfo = true; - buildInputs = [ - libepoxy - ] - ++ lib.optionals vaapiSupport [ libva ] - ++ lib.optionals vulkanSupport [ - vulkan-headers - vulkan-loader - ] - ++ lib.optionals stdenv.hostPlatform.isLinux [ - libGLU - libX11 - libdrm - libgbm - ]; - nativeBuildInputs = [ meson ninja @@ -58,12 +43,34 @@ stdenv.mkDerivation (finalAttrs: { ])) ]; + buildInputs = [ + libepoxy + ] + ++ lib.optionals stdenv.hostPlatform.isLinux [ + libGLU + libX11 + libdrm + libgbm + ] + ++ lib.optionals vaapiSupport [ + libva + ] + ++ lib.optionals vulkanSupport [ + vulkan-headers + vulkan-loader + ]; + mesonFlags = [ (lib.mesonBool "video" vaapiSupport) (lib.mesonBool "venus" vulkanSupport) - ] - ++ lib.optionals nativeContextSupport [ - (lib.mesonOption "drm-renderers" "amdgpu-experimental,msm") + (lib.mesonOption "drm-renderers" ( + lib.optionalString nativeContextSupport ( + lib.concatStringsSep "," [ + "amdgpu-experimental" + "msm" + ] + ) + )) ]; passthru = {