diff --git a/pkgs/desktops/gnome/core/mutter/3.38/default.nix b/pkgs/desktops/gnome/core/mutter/3.38/default.nix index 3c2d30b813ba0..799f80917268b 100644 --- a/pkgs/desktops/gnome/core/mutter/3.38/default.nix +++ b/pkgs/desktops/gnome/core/mutter/3.38/default.nix @@ -32,6 +32,7 @@ , mesa , meson , gnome-settings-daemon +, libxcvt , xorgserver , python3 , wrapGAppsHook @@ -99,7 +100,8 @@ let self = stdenv.mkDerivation rec { pkg-config python3 wrapGAppsHook - xorgserver # for cvt command + libxcvt + xorgserver ]; buildInputs = [ diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix index 17145ccadfe45..275181b832768 100644 --- a/pkgs/desktops/gnome/core/mutter/default.nix +++ b/pkgs/desktops/gnome/core/mutter/default.nix @@ -33,6 +33,7 @@ , mesa , meson , gnome-settings-daemon +, libxcvt , xorgserver , python3 , wrapGAppsHook @@ -95,7 +96,8 @@ let self = stdenv.mkDerivation rec { pkg-config python3 wrapGAppsHook - xorgserver # for cvt command + libxcvt + xorgserver ]; buildInputs = [ diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 085048ae68dc9..0b11138ec237f 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1344,6 +1344,21 @@ lib.makeScope newScope (self: with self; { meta.platforms = lib.platforms.unix; }) {}; + # THIS IS A GENERATED FILE. DO NOT EDIT! + libxcvt = callPackage ({ stdenv, pkg-config, fetchurl, meson, ninja }: stdenv.mkDerivation { + pname = "libxcvt"; + version = "0.1.1"; + builder = ./builder.sh; + src = fetchurl { + url = "mirror://xorg/individual/lib/libxcvt-0.1.1.tar.xz"; + sha256 = "0acc7vrj5kfb19zvyl7f29rnsvx383dvwc19k70r8prm1lccxsr7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkg-config meson ninja ]; + buildInputs = [ ]; + meta.platforms = lib.platforms.unix; + }) {}; + # THIS IS A GENERATED FILE. DO NOT EDIT! libxkbfile = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libX11 }: stdenv.mkDerivation { pname = "libxkbfile"; @@ -2112,11 +2127,11 @@ lib.makeScope newScope (self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videoati = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, mesa, libGL, libdrm, udev, libpciaccess, xorgserver }: stdenv.mkDerivation { pname = "xf86-video-ati"; - version = "19.1.0"; + version = "5eba006e4129e8015b822f9e1d2f1e613e252cda"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-ati-19.1.0.tar.bz2"; - sha256 = "0j9w4axsqlycv4v14g53xyhkm9h7d27b2fcv9lrzb9gf54b5m7v5"; + url = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/archive/5eba006e4129e8015b822f9e1d2f1e613e252cda/xf86-video-ati-5eba006e4129e8015b822f9e1d2f1e613e252cda.tar.bz2"; + sha256 = "0gmymk8207fd9rjliq05l2gvx220h432rj3h75hv2ylr3k9vmp2b"; }; hardeningDisable = [ "bindnow" "relro" ]; nativeBuildInputs = [ pkg-config ]; @@ -2322,11 +2337,11 @@ lib.makeScope newScope (self: with self; { # THIS IS A GENERATED FILE. DO NOT EDIT! xf86videonouveau = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, libdrm, udev, libpciaccess, xorgserver }: stdenv.mkDerivation { pname = "xf86-video-nouveau"; - version = "1.0.17"; + version = "3ee7cbca8f9144a3bb5be7f71ce70558f548d268"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2"; - sha256 = "0sqm1jwjg15sp8v7039y2hsbhph8gpjd2bdzcqqiij2mgbi254s9"; + url = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/archive/3ee7cbca8f9144a3bb5be7f71ce70558f548d268/xf86-video-nouveau-3ee7cbca8f9144a3bb5be7f71ce70558f548d268.tar.bz2"; + sha256 = "0rhs3z274jdzd82pcsl25xn8hmw6i4cxs2kwfnphpfhxbbkiq7wl"; }; hardeningDisable = [ "bindnow" "relro" ]; nativeBuildInputs = [ pkg-config ]; @@ -3085,17 +3100,17 @@ lib.makeScope newScope (self: with self; { }) {}; # THIS IS A GENERATED FILE. DO NOT EDIT! - xorgserver = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation { + xorgserver = callPackage ({ stdenv, pkg-config, fetchurl, xorgproto, openssl, libX11, libXau, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile }: stdenv.mkDerivation { pname = "xorg-server"; - version = "1.20.13"; + version = "21.1.3"; builder = ./builder.sh; src = fetchurl { - url = "mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz"; - sha256 = "003371ad64bz7i2hx7idnh90yw12dbh116ssy40s70balnb4xaj0"; + url = "mirror://xorg/individual/xserver/xorg-server-21.1.3.tar.xz"; + sha256 = "1rgbrld7spg7plkv3c3bbnlnszpflk5z1mqbjrmi2ymlnvasmmk1"; }; hardeningDisable = [ "bindnow" "relro" ]; nativeBuildInputs = [ pkg-config ]; - buildInputs = [ xorgproto openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; + buildInputs = [ xorgproto openssl libX11 libXau libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile ]; meta.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 62873ceda4826..69ff9a70155a4 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -23,7 +23,7 @@ my %extraAttrs; -my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python3", "mkfontscale", "bdftopcf", "libxslt", "openssl", "gperf", "m4", "libinput", "libevdev", "mtdev", "xorgproto", "cairo", "gettext" ); +my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python3", "mkfontscale", "bdftopcf", "libxslt", "openssl", "gperf", "m4", "libinput", "libevdev", "mtdev", "xorgproto", "cairo", "gettext", "meson", "ninja" ); $pcMap{$_} = $_ foreach @missingPCs; $pcMap{"freetype2"} = "freetype"; $pcMap{"libpng12"} = "libpng"; @@ -57,7 +57,7 @@ $tarball =~ /\/((?:(?:[A-Za-z0-9]|(?:-[^0-9])|(?:-[0-9]*[a-z]))+))[^\/]*$/; die unless defined $1; $pkg = $1; - $pkg =~ s/-//g; + $pkg =~ s/(-|[a-f0-9]{40})//g; # Remove hyphen-minus and SHA-1 #next unless $pkg eq "xcbutil"; } @@ -71,8 +71,8 @@ next; } - # split by first occurence of hyphen followd by only numbers ends line or another hyphen follows - my ($name, $version) = split(/-(?=[.0-9]+(?:$|-))/, $pkgName, 2); + # Split by first occurrence of hyphen followed by only numbers, ends line, another hyphen follows, or SHA-1 + my ($name, $version) = split(/-(?=[.0-9]+(?:$|-)|[a-f0-9]{40})/, $pkgName, 2); $pkgURLs{$pkg} = $tarball; $pkgNames{$pkg} = $name; @@ -229,6 +229,7 @@ push @nativeRequires, "gettext" if $file =~ /USE_GETTEXT/; push @requires, "libxslt" if $pkg =~ /libxcb/; + push @nativeRequires, "meson", "ninja" if $pkg =~ /libxcvt/; push @nativeRequires, "m4" if $pkg =~ /xcbutil/; push @requires, "gperf", "xorgproto" if $pkg =~ /xcbutil/; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 27a4da9622bff..d60c6fa34fd8f 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -442,6 +442,17 @@ self: super: xf86videoati = super.xf86videoati.overrideAttrs (attrs: { NIX_CFLAGS_COMPILE = "-I${self.xorgserver.dev or self.xorgserver}/include/xorg"; + nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [ autoreconfHook utilmacros ]; + patches = [ + (fetchpatch { + url = "https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/commit/e0511968d04b42abf11bc0ffb387f143582bc144.patch"; + sha256 = "sha256-79nqKuJRgMYXDEMB8IWxdmbxtI/m+Oca1wSLYeGMuEk="; + }) + ]; + }); + + xf86videonouveau = super.xf86videonouveau.overrideAttrs (attrs: { + nativeBuildInputs = with self; attrs.nativeBuildInputs ++ [ autoreconfHook utilmacros ]; }); xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: { @@ -630,7 +641,7 @@ self: super: in attrs // (let version = lib.getVersion attrs; - commonBuildInputs = attrs.buildInputs ++ [ xtrans ]; + commonBuildInputs = attrs.buildInputs ++ [ libxcvt xtrans ]; commonPropagatedBuildInputs = [ zlib libGL libGLU dbus xorgproto @@ -663,28 +674,10 @@ self: super: then { outputs = [ "out" "dev" ]; patches = [ - # https://lists.x.org/archives/xorg-announce/2021-December/003122.html - (fpgit "ebce7e2d80e7c80e1dda60f2f0bc886f1106ba60" - "sNi16FqN4rS4s8j5+PUVeOQBasccCkB5KvywP7xl28M=" "CVE-2021-4008") - (fpgit "b5196750099ae6ae582e1f46bd0a6dad29550e02" - "5hgzQXBBaJfhSTa9hs8K2N1fQ6+Vp8TTkertmQhkw8Y=" "CVE-2021-4009") - (fpgit "6c4c53010772e3cb4cb8acd54950c8eec9c00d21" - "1gGG9RpjLMi7Emwh13/z5CN1+ISLsPL3hJXP5gQcNkE=" "CVE-2021-4010") - (fpgit "e56f61c79fc3cee26d83cda0f84ae56d5979f768" - "e1KgSXGwwI3GgcYeWaF3KHPmkE4tf9VTqvfTYqRpysY=" "CVE-2021-4011") - # The build process tries to create the specified logdir when building. # # We set it to /var/log which can't be touched from inside the sandbox causing the build to hard-fail ./dont-create-logdir-during-build.patch - - # Fix e.g. xorg.xf86videovmware with libdrm 2.4.108 - # TODO: remove with xorgserver >= 1.21 - (fetchpatch { - name = "stdbool.patch"; - url = "https://gitlab.freedesktop.org/xorg/xserver/-/commit/454b3a826edb5fc6d0fea3a9cfd1a5e8fc568747.diff"; - sha256 = "1l9qg905jvlw3r0kx4xfw5m12pbs0782v2g3267d1m6q4m6fj1zy"; - }) ]; buildInputs = commonBuildInputs ++ [ libdrm mesa ]; propagatedBuildInputs = attrs.propagatedBuildInputs or [] ++ [ libpciaccess libepoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ diff --git a/pkgs/servers/x11/xorg/tarballs.list b/pkgs/servers/x11/xorg/tarballs.list index 75503b3a73951..3a0cce1ee0521 100644 --- a/pkgs/servers/x11/xorg/tarballs.list +++ b/pkgs/servers/x11/xorg/tarballs.list @@ -90,7 +90,7 @@ mirror://xorg/individual/driver/xf86-video-amdgpu-21.0.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-apm-1.3.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2 mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2 -mirror://xorg/individual/driver/xf86-video-ati-19.1.0.tar.bz2 +https://gitlab.freedesktop.org/xorg/driver/xf86-video-ati/-/archive/5eba006e4129e8015b822f9e1d2f1e613e252cda/xf86-video-ati-5eba006e4129e8015b822f9e1d2f1e613e252cda.tar.bz2 mirror://xorg/individual/driver/xf86-video-chips-1.4.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2 mirror://xorg/individual/driver/xf86-video-dummy-0.3.8.tar.bz2 @@ -104,7 +104,7 @@ mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2 mirror://xorg/individual/driver/xf86-video-mga-2.0.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-neomagic-1.3.0.tar.bz2 mirror://xorg/individual/driver/xf86-video-newport-0.2.4.tar.bz2 -mirror://xorg/individual/driver/xf86-video-nouveau-1.0.17.tar.bz2 +https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/archive/3ee7cbca8f9144a3bb5be7f71ce70558f548d268/xf86-video-nouveau-3ee7cbca8f9144a3bb5be7f71ce70558f548d268.tar.bz2 mirror://xorg/individual/driver/xf86-video-nv-2.1.21.tar.bz2 mirror://xorg/individual/driver/xf86-video-omap-0.4.5.tar.bz2 mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2 @@ -181,6 +181,7 @@ mirror://xorg/individual/lib/libXaw3d-1.6.3.tar.bz2 mirror://xorg/individual/lib/libxcb-1.14.tar.xz mirror://xorg/individual/lib/libXcomposite-0.4.5.tar.bz2 mirror://xorg/individual/lib/libXcursor-1.2.0.tar.bz2 +mirror://xorg/individual/lib/libxcvt-0.1.1.tar.xz mirror://xorg/individual/lib/libXdamage-1.1.5.tar.bz2 mirror://xorg/individual/lib/libXdmcp-1.1.3.tar.bz2 mirror://xorg/individual/lib/libXext-1.3.4.tar.bz2 @@ -217,4 +218,4 @@ mirror://xorg/individual/util/lndir-1.0.3.tar.bz2 mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2 mirror://xorg/individual/util/util-macros-1.19.3.tar.bz2 mirror://xorg/individual/util/xorg-cf-files-1.0.7.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.20.13.tar.xz +mirror://xorg/individual/xserver/xorg-server-21.1.3.tar.xz