Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion pkgs/desktops/gnome/core/mutter/3.38/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
, mesa
, meson
, gnome-settings-daemon
, libxcvt
, xorgserver
, python3
, wrapGAppsHook
Expand Down Expand Up @@ -99,7 +100,8 @@ let self = stdenv.mkDerivation rec {
pkg-config
python3
wrapGAppsHook
xorgserver # for cvt command
libxcvt
xorgserver
];

buildInputs = [
Expand Down
4 changes: 3 additions & 1 deletion pkgs/desktops/gnome/core/mutter/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
, mesa
, meson
, gnome-settings-daemon
, libxcvt
, xorgserver
, python3
, wrapGAppsHook
Expand Down Expand Up @@ -95,7 +96,8 @@ let self = stdenv.mkDerivation rec {
pkg-config
python3
wrapGAppsHook
xorgserver # for cvt command
libxcvt
xorgserver
];

buildInputs = [
Expand Down
37 changes: 26 additions & 11 deletions pkgs/servers/x11/xorg/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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 ];
Expand Down Expand Up @@ -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 ];
Expand Down Expand Up @@ -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;
}) {};

Expand Down
9 changes: 5 additions & 4 deletions pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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";
}

Expand All @@ -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;
Expand Down Expand Up @@ -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/;

Expand Down
31 changes: 12 additions & 19 deletions pkgs/servers/x11/xorg/overrides.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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: {
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 [
Expand Down
7 changes: 4 additions & 3 deletions pkgs/servers/x11/xorg/tarballs.list
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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