get xorg/x11 working on Darwin

+4859 -499
+1 -1
pkgs/applications/misc/xfontsel/default.nix
··· 30 30 description = "Allows testing the fonts available in an X server"; 31 31 license = "free"; 32 32 maintainers = with stdenv.lib.maintainers; [viric]; 33 - platforms = with stdenv.lib.platforms; linux; 33 + platforms = with stdenv.lib.platforms; linux ++ darwin; 34 34 }; 35 35 }
+1 -1
pkgs/applications/misc/xlsfonts/default.nix
··· 18 18 description = "Lists the fonts available in the X server"; 19 19 license = "free"; 20 20 maintainers = with stdenv.lib.maintainers; [viric]; 21 - platforms = with stdenv.lib.platforms; linux; 21 + platforms = with stdenv.lib.platforms; linux ++ darwin; 22 22 }; 23 23 }
+1 -1
pkgs/applications/misc/xterm/default.nix
··· 36 36 homepage = http://invisible-island.net/xterm; 37 37 license = "BSD"; 38 38 maintainers = with stdenv.lib.maintainers; [viric]; 39 - platforms = with stdenv.lib.platforms; linux; 39 + platforms = with stdenv.lib.platforms; linux ++ darwin; 40 40 }; 41 41 }
+18 -6
pkgs/development/libraries/freeglut/default.nix
··· 1 - { stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11 }: 1 + { stdenv, lib, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11, autoreconfHook }: 2 2 3 - stdenv.mkDerivation { 4 - name = "freeglut-2.8.1"; 3 + let version = "2.8.1"; 4 + in stdenv.mkDerivation { 5 + name = "freeglut-${version}"; 5 6 6 7 src = fetchurl { 7 - url = mirror://sourceforge/freeglut/freeglut-2.8.1.tar.gz; 8 + url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz"; 8 9 sha256 = "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x"; 9 10 }; 10 11 11 - configureFlags = "--" + (if stdenv.isDarwin then "disable" else "enable") + "-warnings"; 12 + buildInputs = [ 13 + libXi libXrandr libXxf86vm mesa x11 14 + ] ++ lib.optionals stdenv.isDarwin [ 15 + autoreconfHook 16 + ]; 12 17 13 - buildInputs = [ libXi libXrandr libXxf86vm mesa x11 ]; 18 + postPatch = lib.optionalString stdenv.isDarwin '' 19 + substituteInPlace Makefile.am --replace \ 20 + "SUBDIRS = src include progs doc" \ 21 + "SUBDIRS = src include doc" 22 + ''; 23 + 24 + configureFlags = [ "--enable-warnings" ]; 25 + 14 26 # patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ]; 15 27 }
+62
pkgs/development/libraries/mesa-darwin/default.nix
··· 1 + { stdenv, stdenvAdapters, gccApple, fetchurl, pkgconfig, intltool, flex, bison 2 + , python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau 3 + , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt 4 + , enableExtraFeatures ? false # not maintained 5 + }: 6 + 7 + let 8 + version = "8.0.5"; 9 + self = stdenv.mkDerivation rec { 10 + name = "mesa-${version}"; 11 + 12 + src = fetchurl { 13 + url = "ftp://ftp.freedesktop.org/pub/mesa/older-versions/8.x/${version}/MesaLib-${version}.tar.bz2"; 14 + sha256 = "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si"; 15 + }; 16 + 17 + nativeBuildInputs = [ pkgconfig python makedepend flex bison ]; 18 + 19 + buildInputs = with xorg; [ 20 + glproto dri2proto libXfixes libXi libXmu 21 + intltool expat libxml2Python llvm 22 + presentproto 23 + libX11 libXext libxcb libXt libxshmfence 24 + libffi libvdpau 25 + ]; 26 + 27 + postUnpack = '' 28 + ln -s darwin $sourceRoot/configs/current 29 + ''; 30 + 31 + patches = [ 32 + ./patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch 33 + ./patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch 34 + ./patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch 35 + ./patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch 36 + ./patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch 37 + ./patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch 38 + ./patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch 39 + ./patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch 40 + ./patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch 41 + ./patches/patch-src-mapi-vgapi-Makefile.diff 42 + ]; 43 + 44 + postPatch = "patchShebangs ."; 45 + 46 + configurePhase = ":"; 47 + 48 + makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++"; 49 + 50 + enableParallelBuilding = true; 51 + 52 + passthru = { inherit version; }; 53 + 54 + meta = { 55 + description = "An open source implementation of OpenGL"; 56 + homepage = http://www.mesa3d.org/; 57 + license = "bsd"; 58 + platforms = stdenv.lib.platforms.darwin; 59 + maintainers = with stdenv.lib.maintainers; [ cstrahan ]; 60 + }; 61 + }; 62 + in self // { driverLink = self; }
+147
pkgs/development/libraries/mesa-darwin/patches/0003-mesa-fix-per-level-max-texture-size-error-checking.patch
··· 1 + From 9cf1afbf8ae87ddbb29b24a0f9f2724e9e2935c1 Mon Sep 17 00:00:00 2001 2 + From: Brian Paul <brianp@vmware.com> 3 + Date: Tue, 4 Sep 2012 20:17:15 -0600 4 + Subject: [PATCH 03/13] mesa: fix per-level max texture size error checking 5 + MIME-Version: 1.0 6 + Content-Type: text/plain; charset=UTF-8 7 + Content-Transfer-Encoding: 8bit 8 + 9 + This is a long-standing omission in Mesa's texture image size checking. 10 + We need to take the mipmap level into consideration when checking if the 11 + width, height and depth are too large. 12 + 13 + Fixes the new piglit max-texture-size-level test. 14 + Thanks to Stéphane Marchesin for finding this problem. 15 + 16 + Note: This is a candidate for the stable branches. 17 + 18 + Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> 19 + (cherry picked from commit 771e7b6d884bb4294a89f276a904d90b28efb90a) 20 + --- 21 + src/mesa/main/teximage.c | 36 +++++++++++++++++++++--------------- 22 + 1 file changed, 21 insertions(+), 15 deletions(-) 23 + 24 + diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c 25 + index 3aecc0f..ed22fa9 100644 26 + --- a/src/mesa/main/teximage.c 27 + +++ b/src/mesa/main/teximage.c 28 + @@ -1251,11 +1251,12 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, 29 + 30 + switch (target) { 31 + case GL_PROXY_TEXTURE_1D: 32 + - maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); 33 + - if (width < 2 * border || width > 2 * border + maxSize) 34 + - return GL_FALSE; 35 + if (level >= ctx->Const.MaxTextureLevels) 36 + return GL_FALSE; 37 + + maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); /* level zero size */ 38 + + maxSize >>= level; /* level size */ 39 + + if (width < 2 * border || width > 2 * border + maxSize) 40 + + return GL_FALSE; 41 + if (!ctx->Extensions.ARB_texture_non_power_of_two) { 42 + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) 43 + return GL_FALSE; 44 + @@ -1263,13 +1264,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, 45 + return GL_TRUE; 46 + 47 + case GL_PROXY_TEXTURE_2D: 48 + + if (level >= ctx->Const.MaxTextureLevels) 49 + + return GL_FALSE; 50 + maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); 51 + + maxSize >>= level; 52 + if (width < 2 * border || width > 2 * border + maxSize) 53 + return GL_FALSE; 54 + if (height < 2 * border || height > 2 * border + maxSize) 55 + return GL_FALSE; 56 + - if (level >= ctx->Const.MaxTextureLevels) 57 + - return GL_FALSE; 58 + if (!ctx->Extensions.ARB_texture_non_power_of_two) { 59 + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) 60 + return GL_FALSE; 61 + @@ -1279,15 +1281,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, 62 + return GL_TRUE; 63 + 64 + case GL_PROXY_TEXTURE_3D: 65 + + if (level >= ctx->Const.Max3DTextureLevels) 66 + + return GL_FALSE; 67 + maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1); 68 + + maxSize >>= level; 69 + if (width < 2 * border || width > 2 * border + maxSize) 70 + return GL_FALSE; 71 + if (height < 2 * border || height > 2 * border + maxSize) 72 + return GL_FALSE; 73 + if (depth < 2 * border || depth > 2 * border + maxSize) 74 + return GL_FALSE; 75 + - if (level >= ctx->Const.Max3DTextureLevels) 76 + - return GL_FALSE; 77 + if (!ctx->Extensions.ARB_texture_non_power_of_two) { 78 + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) 79 + return GL_FALSE; 80 + @@ -1299,23 +1302,24 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, 81 + return GL_TRUE; 82 + 83 + case GL_PROXY_TEXTURE_RECTANGLE_NV: 84 + + if (level != 0) 85 + + return GL_FALSE; 86 + maxSize = ctx->Const.MaxTextureRectSize; 87 + if (width < 0 || width > maxSize) 88 + return GL_FALSE; 89 + if (height < 0 || height > maxSize) 90 + return GL_FALSE; 91 + - if (level != 0) 92 + - return GL_FALSE; 93 + return GL_TRUE; 94 + 95 + case GL_PROXY_TEXTURE_CUBE_MAP_ARB: 96 + + if (level >= ctx->Const.MaxCubeTextureLevels) 97 + + return GL_FALSE; 98 + maxSize = 1 << (ctx->Const.MaxCubeTextureLevels - 1); 99 + + maxSize >>= level; 100 + if (width < 2 * border || width > 2 * border + maxSize) 101 + return GL_FALSE; 102 + if (height < 2 * border || height > 2 * border + maxSize) 103 + return GL_FALSE; 104 + - if (level >= ctx->Const.MaxCubeTextureLevels) 105 + - return GL_FALSE; 106 + if (!ctx->Extensions.ARB_texture_non_power_of_two) { 107 + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) 108 + return GL_FALSE; 109 + @@ -1325,13 +1329,14 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, 110 + return GL_TRUE; 111 + 112 + case GL_PROXY_TEXTURE_1D_ARRAY_EXT: 113 + + if (level >= ctx->Const.MaxTextureLevels) 114 + + return GL_FALSE; 115 + maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); 116 + + maxSize >>= level; 117 + if (width < 2 * border || width > 2 * border + maxSize) 118 + return GL_FALSE; 119 + if (height < 1 || height > ctx->Const.MaxArrayTextureLayers) 120 + return GL_FALSE; 121 + - if (level >= ctx->Const.MaxTextureLevels) 122 + - return GL_FALSE; 123 + if (!ctx->Extensions.ARB_texture_non_power_of_two) { 124 + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) 125 + return GL_FALSE; 126 + @@ -1339,15 +1344,16 @@ _mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level, 127 + return GL_TRUE; 128 + 129 + case GL_PROXY_TEXTURE_2D_ARRAY_EXT: 130 + + if (level >= ctx->Const.MaxTextureLevels) 131 + + return GL_FALSE; 132 + maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); 133 + + maxSize >>= level; 134 + if (width < 2 * border || width > 2 * border + maxSize) 135 + return GL_FALSE; 136 + if (height < 2 * border || height > 2 * border + maxSize) 137 + return GL_FALSE; 138 + if (depth < 1 || depth > ctx->Const.MaxArrayTextureLayers) 139 + return GL_FALSE; 140 + - if (level >= ctx->Const.MaxTextureLevels) 141 + - return GL_FALSE; 142 + if (!ctx->Extensions.ARB_texture_non_power_of_two) { 143 + if (width > 0 && !_mesa_is_pow_two(width - 2 * border)) 144 + return GL_FALSE; 145 + -- 146 + 1.9.2 147 +
+33
pkgs/development/libraries/mesa-darwin/patches/0008-glsl-initialise-const-force-glsl-extension-warning-i.patch
··· 1 + From db8cb2250335a93cad6e877e634116e5cd6b42fc Mon Sep 17 00:00:00 2001 2 + From: Dave Airlie <airlied@redhat.com> 3 + Date: Tue, 13 Mar 2012 14:53:25 +0000 4 + Subject: [PATCH 08/13] glsl: initialise const force glsl extension warning in 5 + fake ctx 6 + 7 + valgrind complained about an uninitialised value being used in 8 + glsl_parser_extras.cpp, and this was the one it was giving out about. 9 + 10 + Just initialise the value in the fakectx. 11 + 12 + Signed-off-by: Dave Airlie <airlied@redhat.com> 13 + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=48057 14 + (cherry picked from commit b78a77f979b21a84aecb6fa4f19a2ed51a48c306) 15 + --- 16 + src/glsl/builtins/tools/generate_builtins.py | 1 + 17 + 1 file changed, 1 insertion(+) 18 + 19 + diff --git a/src/glsl/builtins/tools/generate_builtins.py b/src/glsl/builtins/tools/generate_builtins.py 20 + index 72d12bb..bd15c4d 100755 21 + --- a/src/glsl/builtins/tools/generate_builtins.py 22 + +++ b/src/glsl/builtins/tools/generate_builtins.py 23 + @@ -156,6 +156,7 @@ read_builtins(GLenum target, const char *protos, const char **functions, unsigne 24 + fakeCtx.API = API_OPENGL; 25 + fakeCtx.Const.GLSLVersion = 130; 26 + fakeCtx.Extensions.ARB_ES2_compatibility = true; 27 + + fakeCtx.Const.ForceGLSLExtensionsWarn = false; 28 + gl_shader *sh = _mesa_new_shader(NULL, 0, target); 29 + struct _mesa_glsl_parse_state *st = 30 + new(sh) _mesa_glsl_parse_state(&fakeCtx, target, sh); 31 + -- 32 + 1.9.2 33 +
+28
pkgs/development/libraries/mesa-darwin/patches/0009-mesa-test-for-GL_EXT_framebuffer_sRGB-in-glPopAttrib.patch
··· 1 + From 2286bd68a832a4d4908d50e1a4496853e1f3305a Mon Sep 17 00:00:00 2001 2 + From: Brian Paul <brianp@vmware.com> 3 + Date: Mon, 27 Aug 2012 21:52:07 -0600 4 + Subject: [PATCH 09/13] mesa: test for GL_EXT_framebuffer_sRGB in glPopAttrib() 5 + 6 + To avoid spurious GL_INVALID_ENUM errors if the extension isn't supported. 7 + (cherry picked from commit 1aee8803f83f7ae24d9c2150c70afff2b1ee4c2f) 8 + --- 9 + src/mesa/main/attrib.c | 3 ++- 10 + 1 file changed, 2 insertions(+), 1 deletion(-) 11 + 12 + diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c 13 + index 225ac89..cc384c7 100644 14 + --- a/src/mesa/main/attrib.c 15 + +++ b/src/mesa/main/attrib.c 16 + @@ -993,7 +993,8 @@ _mesa_PopAttrib(void) 17 + _mesa_ClampColorARB(GL_CLAMP_READ_COLOR_ARB, color->ClampReadColor); 18 + 19 + /* GL_ARB_framebuffer_sRGB / GL_EXT_framebuffer_sRGB */ 20 + - _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled); 21 + + if (ctx->Extensions.EXT_framebuffer_sRGB) 22 + + _mesa_set_enable(ctx, GL_FRAMEBUFFER_SRGB, color->sRGBEnabled); 23 + } 24 + break; 25 + case GL_CURRENT_BIT: 26 + -- 27 + 1.9.2 28 +
+29
pkgs/development/libraries/mesa-darwin/patches/0011-Apple-glFlush-is-not-needed-with-CGLFlushDrawable.patch
··· 1 + From 9c50093adff0c7531ab32a7ec9ce3b91712b4d20 Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Sat, 20 Jul 2013 10:25:28 -0700 4 + Subject: [PATCH 11/13] Apple: glFlush() is not needed with CGLFlushDrawable() 5 + 6 + <rdar://problem/14496373> 7 + 8 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 9 + (cherry picked from commit fa5ed99d8e809fb86e486a40273a4a6971055398) 10 + --- 11 + src/glx/apple/apple_glx.c | 2 -- 12 + 1 file changed, 2 deletions(-) 13 + 14 + diff --git a/src/glx/apple/apple_glx.c b/src/glx/apple/apple_glx.c 15 + index 56cff64..4e2aa33 100644 16 + --- a/src/glx/apple/apple_glx.c 17 + +++ b/src/glx/apple/apple_glx.c 18 + @@ -132,8 +132,6 @@ apple_glx_swap_buffers(void *ptr) 19 + { 20 + struct apple_glx_context *ac = ptr; 21 + 22 + - /* This may not be needed with CGLFlushDrawable: */ 23 + - glFlush(); 24 + apple_cgl.flush_drawable(ac->context_obj); 25 + } 26 + 27 + -- 28 + 1.9.2 29 +
+28
pkgs/development/libraries/mesa-darwin/patches/0012-glapi-Avoid-heap-corruption-in-_glapi_table.patch
··· 1 + From 629600450b3845a768c0edc92ea3f444d03a2738 Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Tue, 20 May 2014 01:37:58 -0700 4 + Subject: [PATCH 12/13] glapi: Avoid heap corruption in _glapi_table 5 + 6 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 7 + Reviewed-by: Chia-I Wu <olv@lunarg.com> 8 + (cherry picked from commit ff5456d1acf6f627a6837be3f3f37c6a268c9e8e) 9 + --- 10 + src/mapi/glapi/gen/gl_gentable.py | 2 +- 11 + 1 file changed, 1 insertion(+), 1 deletion(-) 12 + 13 + diff --git a/src/mapi/glapi/gen/gl_gentable.py b/src/mapi/glapi/gen/gl_gentable.py 14 + index 5657e32..0d0a02d 100644 15 + --- a/src/mapi/glapi/gen/gl_gentable.py 16 + +++ b/src/mapi/glapi/gen/gl_gentable.py 17 + @@ -111,7 +111,7 @@ __glapi_gentable_set_remaining_noop(struct _glapi_table *disp) { 18 + 19 + struct _glapi_table * 20 + _glapi_create_table_from_handle(void *handle, const char *symbol_prefix) { 21 + - struct _glapi_table *disp = calloc(1, sizeof(struct _glapi_table)); 22 + + struct _glapi_table *disp = calloc(1, _glapi_get_dispatch_table_size() * sizeof(_glapi_proc)); 23 + char symboln[512]; 24 + 25 + if(!disp) 26 + -- 27 + 1.9.2 28 +
+40
pkgs/development/libraries/mesa-darwin/patches/0013-darwin-Fix-test-for-kCGLPFAOpenGLProfile-support-at-.patch
··· 1 + From ba59a779ed41e08fa16805c1c60da39885546d0e Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Tue, 20 May 2014 10:53:00 -0700 4 + Subject: [PATCH 13/13] darwin: Fix test for kCGLPFAOpenGLProfile support at 5 + runtime 6 + 7 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 8 + (cherry picked from commit 7a109268ab5b3544e7f7b99e84ef1fdf54023fb4) 9 + --- 10 + src/glx/apple/apple_visual.c | 14 +++++++++----- 11 + 1 file changed, 9 insertions(+), 5 deletions(-) 12 + 13 + diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c 14 + index 282934f..238c248 100644 15 + --- a/src/glx/apple/apple_visual.c 16 + +++ b/src/glx/apple/apple_visual.c 17 + @@ -73,11 +73,15 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m 18 + GLint vsref = 0; 19 + CGLError error = 0; 20 + 21 + - /* Request an OpenGL 3.2 profile if one is available */ 22 + - if(apple_cgl.version_major > 1 || (apple_cgl.version_major == 1 && apple_cgl.version_minor >= 3)) { 23 + - attr[numattr++] = kCGLPFAOpenGLProfile; 24 + - attr[numattr++] = kCGLOGLPVersion_3_2_Core; 25 + - } 26 + + /* Request an OpenGL 3.2 profile if one is available and supported */ 27 + + attr[numattr++] = kCGLPFAOpenGLProfile; 28 + + attr[numattr++] = kCGLOGLPVersion_3_2_Core; 29 + + 30 + + /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ 31 + + attr[numattr] = 0; 32 + + error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); 33 + + if (error == kCGLBadAttribute) 34 + + numattr -= 2; 35 + 36 + if (offscreen) { 37 + apple_glx_diagnostic 38 + -- 39 + 1.9.2 40 +
+30
pkgs/development/libraries/mesa-darwin/patches/1001-appleglx-Improve-error-reporting-if-CGLChoosePixelFo.patch
··· 1 + From f0702d6e631bb912a230c081463bb51a0dde1bff Mon Sep 17 00:00:00 2001 2 + From: Jon TURNEY <jon.turney@dronecode.org.uk> 3 + Date: Mon, 12 May 2014 15:38:26 +0100 4 + Subject: [PATCH 1001/1003] appleglx: Improve error reporting if 5 + CGLChoosePixelFormat() didn't find any matching pixel formats. 6 + 7 + Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk> 8 + Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 9 + (cherry picked from commit 002a3a74273b81dfb226e1c3f0a8c18525ed0af4) 10 + --- 11 + src/glx/apple/apple_visual.c | 5 +++++ 12 + 1 file changed, 5 insertions(+) 13 + 14 + diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c 15 + index 238c248..c6ede51 100644 16 + --- a/src/glx/apple/apple_visual.c 17 + +++ b/src/glx/apple/apple_visual.c 18 + @@ -167,4 +167,9 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m 19 + fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); 20 + abort(); 21 + } 22 + + 23 + + if (!*pfobj) { 24 + + fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); 25 + + abort(); 26 + + } 27 + } 28 + -- 29 + 1.9.2 (Apple Git-49) 30 +
+55
pkgs/development/libraries/mesa-darwin/patches/1002-darwin-Write-errors-in-choosing-the-pixel-format-to-.patch
··· 1 + From 1b2f877c8ef052b183c1f20ece6c6e4a7bfd237c Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Sat, 24 May 2014 14:13:33 -0700 4 + Subject: [PATCH 1002/1003] darwin: Write errors in choosing the pixel format 5 + to the crash log 6 + 7 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 8 + (cherry picked from commit 9eb1d36c978a9b15ae2e999c630492dfffd7f165) 9 + --- 10 + src/glx/apple/apple_visual.c | 18 ++++++++++++++++-- 11 + 1 file changed, 16 insertions(+), 2 deletions(-) 12 + 13 + diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c 14 + index c6ede51..951b213 100644 15 + --- a/src/glx/apple/apple_visual.c 16 + +++ b/src/glx/apple/apple_visual.c 17 + @@ -63,6 +63,16 @@ enum 18 + MAX_ATTR = 60 19 + }; 20 + 21 + +static char __crashreporter_info_buff__[4096] = { 0 }; 22 + +static const char *__crashreporter_info__ __attribute__((__used__)) = 23 + + &__crashreporter_info_buff__[0]; 24 + +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 25 + +// This is actually a toolchain requirement, but I'm not sure the correct check, 26 + +// but it should be fine to just only include it for Leopard and later. This line 27 + +// just tells the linker to never strip this symbol (such as for space optimization) 28 + +__asm__ (".desc ___crashreporter_info__, 0x10"); 29 + +#endif 30 + + 31 + void 32 + apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * mode, 33 + bool * double_buffered, bool * uses_stereo, 34 + @@ -164,12 +174,16 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m 35 + error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); 36 + 37 + if (error) { 38 + - fprintf(stderr, "error: %s\n", apple_cgl.error_string(error)); 39 + + snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), 40 + + "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error)); 41 + + fprintf(stderr, "%s", __crashreporter_info_buff__); 42 + abort(); 43 + } 44 + 45 + if (!*pfobj) { 46 + - fprintf(stderr, "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); 47 + + snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), 48 + + "No matching pixelformats found, perhaps try using LIBGL_ALLOW_SOFTWARE\n"); 49 + + fprintf(stderr, "%s", __crashreporter_info_buff__); 50 + abort(); 51 + } 52 + } 53 + -- 54 + 1.9.2 (Apple Git-49) 55 +
+69
pkgs/development/libraries/mesa-darwin/patches/1003-darwin-Guard-Core-Profile-usage-behind-a-testing-env.patch
··· 1 + From 9d6e12eb6b06202519e48a7321f32944d7a34b0f Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Sat, 24 May 2014 14:08:16 -0700 4 + Subject: [PATCH 1003/1003] darwin: Guard Core Profile usage behind a testing 5 + envvar 6 + 7 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 8 + (cherry picked from commit 04ce3be4010305902cc5ae81e8e0c8550d043a1e) 9 + --- 10 + src/glx/apple/apple_visual.c | 30 ++++++++++++++++++++---------- 11 + 1 file changed, 20 insertions(+), 10 deletions(-) 12 + 13 + diff --git a/src/glx/apple/apple_visual.c b/src/glx/apple/apple_visual.c 14 + index 951b213..046581b 100644 15 + --- a/src/glx/apple/apple_visual.c 16 + +++ b/src/glx/apple/apple_visual.c 17 + @@ -82,16 +82,7 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m 18 + int numattr = 0; 19 + GLint vsref = 0; 20 + CGLError error = 0; 21 + - 22 + - /* Request an OpenGL 3.2 profile if one is available and supported */ 23 + - attr[numattr++] = kCGLPFAOpenGLProfile; 24 + - attr[numattr++] = kCGLOGLPVersion_3_2_Core; 25 + - 26 + - /* Test for kCGLPFAOpenGLProfile support at runtime and roll it out if not supported */ 27 + - attr[numattr] = 0; 28 + - error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); 29 + - if (error == kCGLBadAttribute) 30 + - numattr -= 2; 31 + + bool use_core_profile = getenv("LIBGL_PROFILE_CORE"); 32 + 33 + if (offscreen) { 34 + apple_glx_diagnostic 35 + @@ -167,12 +158,31 @@ apple_visual_create_pfobj(CGLPixelFormatObj * pfobj, const struct glx_config * m 36 + attr[numattr++] = mode->samples; 37 + } 38 + 39 + + /* Debugging support for Core profiles to support newer versions of OpenGL */ 40 + + if (use_core_profile) { 41 + + attr[numattr++] = kCGLPFAOpenGLProfile; 42 + + attr[numattr++] = kCGLOGLPVersion_3_2_Core; 43 + + } 44 + + 45 + attr[numattr++] = 0; 46 + 47 + assert(numattr < MAX_ATTR); 48 + 49 + error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); 50 + 51 + + if ((error == kCGLBadAttribute || vsref == 0) && use_core_profile) { 52 + + apple_glx_diagnostic 53 + + ("Trying again without CoreProfile: error=%s, vsref=%d\n", apple_cgl.error_string(error), vsref); 54 + + 55 + + if (!error) 56 + + apple_cgl.destroy_pixel_format(*pfobj); 57 + + 58 + + numattr -= 3; 59 + + attr[numattr++] = 0; 60 + + 61 + + error = apple_cgl.choose_pixel_format(attr, pfobj, &vsref); 62 + + } 63 + + 64 + if (error) { 65 + snprintf(__crashreporter_info_buff__, sizeof(__crashreporter_info_buff__), 66 + "CGLChoosePixelFormat error: %s\n", apple_cgl.error_string(error)); 67 + -- 68 + 1.9.2 (Apple Git-49) 69 +
+11
pkgs/development/libraries/mesa-darwin/patches/patch-src-mapi-vgapi-Makefile.diff
··· 1 + --- a/src/mapi/vgapi/Makefile 2012-11-30 12:06:24.000000000 -0500 2 + +++ b/src/mapi/vgapi/Makefile 2012-11-30 12:06:52.000000000 -0500 3 + @@ -75,6 +75,8 @@ 4 + install-headers: 5 + $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/VG 6 + $(INSTALL) -m 644 $(TOP)/include/VG/*.h $(DESTDIR)$(INSTALL_INC_DIR)/VG 7 + + $(INSTALL) -d $(DESTDIR)$(INSTALL_INC_DIR)/KHR 8 + + $(INSTALL) -m 644 $(TOP)/include/KHR/*.h $(DESTDIR)$(INSTALL_INC_DIR)/KHR 9 + 10 + install: default install-headers install-pc 11 + $(INSTALL) -d $(DESTDIR)$(INSTALL_LIB_DIR)
+27
pkgs/servers/x11/quartz-wm/default.nix
··· 1 + { stdenv, lib, fetchurl, xorg, pixman, pkgconfig }: 2 + 3 + let version = "1.3.1"; 4 + in stdenv.mkDerivation { 5 + name = "quartz-wm-${version}"; 6 + src = fetchurl { 7 + url = "http://xquartz-dl.macosforge.org/src/quartz-wm-${version}.tar.xz"; 8 + sha256 = "1j8zd3p7rhay1s3sxq6anw78k5s59mx44xpqla2ianl62346a5g9"; 9 + }; 10 + patches = [ 11 + ./no_title_crash.patch 12 + ./extern-patch.patch 13 + ]; 14 + buildInputs = [ 15 + xorg.libXinerama 16 + xorg.libAppleWM 17 + xorg.applewmproto 18 + xorg.libXrandr 19 + xorg.libXext 20 + pixman 21 + pkgconfig 22 + ]; 23 + meta = with lib; { 24 + license = licenses.apsl20; 25 + platforms = platforms.darwin; 26 + }; 27 + }
+13
pkgs/servers/x11/quartz-wm/extern-patch.patch
··· 1 + diff --git a/src/x-list.h b/src/x-list.h 2 + index bb85c02..059c88b 100644 3 + --- a/src/x-list.h 4 + +++ b/src/x-list.h 5 + @@ -39,7 +39,7 @@ 6 + #endif 7 + 8 + #ifndef X_EXTERN 9 + -# define X_EXTERN __private_extern__ 10 + +# define X_EXTERN extern 11 + #endif 12 + 13 + X_EXTERN void X_PFX (list_free_1) (x_list *node);
+25
pkgs/servers/x11/quartz-wm/no_title_crash.patch
··· 1 + commit c28527b1340c51f2b492a31e49127106cebbfc5d 2 + Author: Jeremy Huddleston <jeremyhu@apple.com> 3 + Date: Fri Jun 1 10:38:37 2012 -0700 4 + 5 + Fix a crash when minimizing windows without titles 6 + 7 + <rdar://problem/11575791> 8 + 9 + Regression-from: 21f210c923aa5d79400ce46275084f2636c92bd9 10 + 11 + Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> 12 + 13 + diff --git a/src/x-window.m b/src/x-window.m 14 + index a210c6a..e3b9066 100644 15 + --- a/src/x-window.m 16 + +++ b/src/x-window.m 17 + @@ -2139,7 +2139,7 @@ - (void) do_collapse 18 + if (wid == XP_NULL_NATIVE_WINDOW_ID) 19 + return; 20 + 21 + - title_c = strdup([_title UTF8String]); 22 + + title_c = strdup([[self title] UTF8String]); 23 + assert(title_c); 24 + 25 + err = qwm_dock_minimize_item_with_title_async (wid, title_c);
+33
pkgs/servers/x11/xorg/darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch
··· 1 + From ec6007e6f7772a90713c9c51c64359229961ce27 Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Sun, 6 Apr 2014 05:32:00 -0700 4 + Subject: [PATCH] XQuartz: Ensure we wait for the server thread to terminate 5 + 6 + AKA: XQuartz 2.7.5 doesn't delete its /tmp/.X$d-lock 7 + 8 + http://xquartz.macosforge.org/trac/ticket/823 9 + 10 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 11 + --- 12 + hw/xquartz/X11Controller.m | 5 ++--- 13 + 1 file changed, 2 insertions(+), 3 deletions(-) 14 + 15 + diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m 16 + index 5445c6f..022e832 100644 17 + --- a/hw/xquartz/X11Controller.m 18 + +++ b/hw/xquartz/X11Controller.m 19 + @@ -942,9 +942,8 @@ extern char *bundle_id_prefix; 20 + /* shutdown the X server, it will exit () for us. */ 21 + DarwinSendDDXEvent(kXquartzQuit, 0); 22 + 23 + - /* In case it doesn't, exit anyway after a while. */ 24 + - remain = 10000000; 25 + - while ((remain = usleep(remain)) > 0) ; 26 + + /* In case it doesn't, exit anyway after 5s. */ 27 + + [NSThread sleepForTimeInterval:5.0]; 28 + 29 + exit(1); 30 + } 31 + -- 32 + 1.9.1 33 +
+40
pkgs/servers/x11/xorg/darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
··· 1 + From d36a301fb3d0f2c7a3d81cbda3fd21d8d36038e5 Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston <jeremyhu@apple.com> 3 + Date: Fri, 13 Jan 2012 12:00:57 -0800 4 + Subject: [PATCH 5000/5004] sdksyms.sh: Use CPPFLAGS, not CFLAGS 5 + 6 + CFLAGS can include flags which are not useful to the preprocessor 7 + or can even cause it to fail. This fixes a build issue on darwin 8 + when building for more than one architecture. 9 + 10 + Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> 11 + Reviewed-by: Keith Packard <keithp@keithp.com> 12 + --- 13 + hw/xfree86/Makefile.am | 4 ++-- 14 + 1 file changed, 2 insertions(+), 2 deletions(-) 15 + 16 + diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am 17 + index c3899b5..4f48b85 100644 18 + --- a/hw/xfree86/Makefile.am 19 + +++ b/hw/xfree86/Makefile.am 20 + @@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \ 21 + bin_PROGRAMS = Xorg 22 + nodist_Xorg_SOURCES = sdksyms.c 23 + 24 + -AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ 25 + +AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ 26 + INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \ 27 + -I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \ 28 + -I$(srcdir)/dri -I$(srcdir)/dri2 29 + @@ -115,7 +115,7 @@ CLEANFILES = sdksyms.c sdksyms.dep 30 + EXTRA_DIST += sdksyms.sh 31 + 32 + sdksyms.dep sdksyms.c: sdksyms.sh 33 + - $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES) 34 + + $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) $(INCLUDES) 35 + 36 + SDKSYMS_DEP = sdksyms.dep 37 + include $(SDKSYMS_DEP) 38 + -- 39 + 1.8.4.1 40 +
+165
pkgs/servers/x11/xorg/darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch
··· 1 + From 9ca14507a31338fad40d430445a4a4cb8106bc9b Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston <jeremyhu@apple.com> 3 + Date: Fri, 30 Apr 2010 13:08:25 -0700 4 + Subject: [PATCH 5001/5004] Workaround the GC clipping problem in miPaintWindow 5 + and add some debugging output. 6 + 7 + Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> 8 + --- 9 + mi/miexpose.c | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++------ 10 + 1 file changed, 94 insertions(+), 10 deletions(-) 11 + 12 + diff --git a/mi/miexpose.c b/mi/miexpose.c 13 + index 8b7c93f..3e972f7 100644 14 + --- a/mi/miexpose.c 15 + +++ b/mi/miexpose.c 16 + @@ -489,7 +489,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin); 17 + void RootlessStartDrawing(WindowPtr pWin); 18 + void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn); 19 + Bool IsFramedWindow(WindowPtr pWin); 20 + -#endif 21 + +#include "../fb/fb.h" 22 + +#endif 23 + 24 + void 25 + miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) 26 + @@ -518,23 +519,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) 27 + Bool solid = TRUE; 28 + DrawablePtr drawable = &pWin->drawable; 29 + 30 + +#ifdef XQUARTZ_CLIP_DEBUG 31 + + ErrorF("START %d BS %d (pR = %ld)\n", what, pWin->backgroundState, ParentRelative); 32 + + ErrorF(" Rgn: %d %d %d %d\n", prgn->extents.x1, prgn->extents.y1, 33 + + prgn->extents.x2 - prgn->extents.x1, 34 + + prgn->extents.y2 - prgn->extents.y1); 35 + + ErrorF(" Win: %d %d (%d %d) %d %d\n", pWin->origin.x, pWin->origin.y, 36 + + pWin->winSize.extents.x1, pWin->winSize.extents.y1, 37 + + pWin->winSize.extents.x2 - pWin->winSize.extents.x1, 38 + + pWin->winSize.extents.y2 - pWin->winSize.extents.y1); 39 + + ErrorF(" Draw: %d %d %d %d\n", pWin->drawable.x, pWin->drawable.y, 40 + + pWin->drawable.width, pWin->drawable.height); 41 + +#endif 42 + + 43 + #ifdef ROOTLESS 44 + if (!drawable || drawable->type == UNDRAWABLE_WINDOW) 45 + return; 46 + +#endif 47 + + 48 + + if (what == PW_BACKGROUND) 49 + + { 50 + +#ifdef ROOTLESS 51 + + if(IsFramedWindow(pWin)) { 52 + + RootlessStartDrawing(pWin); 53 + + RootlessDamageRegion(pWin, prgn); 54 + 55 + - if (IsFramedWindow(pWin)) { 56 + - RootlessStartDrawing(pWin); 57 + - RootlessDamageRegion(pWin, prgn); 58 + - 59 + - if (pWin->backgroundState == ParentRelative) { 60 + - if ((what == PW_BACKGROUND) || 61 + - (what == PW_BORDER && !pWin->borderIsPixel)) 62 + + if(pWin->backgroundState == ParentRelative) { 63 + RootlessSetPixmapOfAncestors(pWin); 64 + + } 65 + } 66 + - } 67 + #endif 68 + 69 + - if (what == PW_BACKGROUND) { 70 + while (pWin->backgroundState == ParentRelative) 71 + pWin = pWin->parent; 72 + 73 + @@ -559,6 +574,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) 74 + else { 75 + PixmapPtr pixmap; 76 + 77 + +#ifdef ROOTLESS 78 + + if(IsFramedWindow(pWin)) { 79 + + RootlessStartDrawing(pWin); 80 + + RootlessDamageRegion(pWin, prgn); 81 + + 82 + + if(!pWin->borderIsPixel && 83 + + pWin->backgroundState == ParentRelative) { 84 + + RootlessSetPixmapOfAncestors(pWin); 85 + + } 86 + + } 87 + +#endif 88 + + 89 + tile_x_off = drawable->x; 90 + tile_y_off = drawable->y; 91 + 92 + @@ -567,6 +594,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) 93 + return; 94 + pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable); 95 + drawable = &pixmap->drawable; 96 + + 97 + +#ifdef XQUARTZ_CLIP_DEBUG 98 + + ErrorF(" Draw: %d %d %d %d\n", 99 + + drawable->x, drawable->y, drawable->width, drawable->height); 100 + +#endif 101 + + 102 + #ifdef COMPOSITE 103 + draw_x_off = pixmap->screen_x; 104 + draw_y_off = pixmap->screen_y; 105 + @@ -629,6 +662,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what) 106 + ChangeGC(NullClient, pGC, gcmask, gcval); 107 + ValidateGC(drawable, pGC); 108 + 109 + +#ifdef XQUARTZ_CLIP_DEBUG 110 + + ErrorF(" GC: %d %d %d %d\n", 111 + + pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1, 112 + + pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1, 113 + + pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1); 114 + +#endif 115 + + 116 + +#ifdef XQUARTZ 117 + + /* Looks like our clipping isn't set right for some reason: 118 + + * http://xquartz.macosforge.org/trac/ticket/290 119 + + */ 120 + + if(what == PW_BORDER) { 121 + + 122 + +#if 0 123 + + if(solid) { 124 + +#if 1 125 + + fbFillRegionSolid(&pWin->drawable, 126 + + prgn, 127 + + 0, 128 + + fbReplicatePixel(fill.pixel, 129 + + pWin->drawable.bitsPerPixel)); 130 + +#else 131 + + fbFillRegionSolid(drawable, 132 + + prgn, 133 + + 0, 134 + + fbReplicatePixel(fill.pixel, 135 + + drawable->bitsPerPixel)); 136 + +#endif 137 + + return; 138 + + } 139 + +#endif 140 + + 141 + + pGC->pCompositeClip->extents.x1 += prgn->extents.x1; 142 + + pGC->pCompositeClip->extents.y1 += prgn->extents.y1; 143 + + pGC->pCompositeClip->extents.x2 += prgn->extents.x1; 144 + + pGC->pCompositeClip->extents.y2 += prgn->extents.y1; 145 + + 146 + + if(pGC->pCompositeClip->extents.x2 > drawable->pScreen->width) 147 + + pGC->pCompositeClip->extents.x2 = drawable->pScreen->width; 148 + + if(pGC->pCompositeClip->extents.y2 > drawable->pScreen->height) 149 + + pGC->pCompositeClip->extents.y2 = drawable->pScreen->height; 150 + + } 151 + +#endif 152 + + 153 + +#ifdef XQUARTZ_CLIP_DEBUG 154 + + ErrorF(" GC: %d %d %d %d\n", 155 + + pGC->pCompositeClip->extents.x1, pGC->pCompositeClip->extents.y1, 156 + + pGC->pCompositeClip->extents.x2 - pGC->pCompositeClip->extents.x1, 157 + + pGC->pCompositeClip->extents.y2 - pGC->pCompositeClip->extents.y1); 158 + +#endif 159 + + 160 + numRects = RegionNumRects(prgn); 161 + pbox = RegionRects(prgn); 162 + for (i = numRects; --i >= 0; pbox++, prect++) { 163 + -- 164 + 1.8.4.1 165 +
+316
pkgs/servers/x11/xorg/darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch
··· 1 + From 07f9e0beaf66ec9de1455a305c87ab642968f3f1 Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston <jeremyhu@apple.com> 3 + Date: Fri, 12 Feb 2010 19:48:52 -0800 4 + Subject: [PATCH 5002/5004] fb: Revert fb changes that broke XQuartz 5 + 6 + http://bugs.freedesktop.org/show_bug.cgi?id=26124 7 + 8 + Revert "Fix source pictures getting random transforms after 2d6a8f668342a5190cdf43b5." 9 + Revert "fb: Adjust transform or composite coordinates for pixman operations" 10 + 11 + http://bugs.freedesktop.org/26124 12 + 13 + This reverts commit a72c65e9176c51de95db2fdbf4c5d946a4911695. 14 + This reverts commit a6bd5d2e482a5aa84acb3d4932e2a166d8670ef1. 15 + 16 + Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> 17 + --- 18 + fb/fb.h | 3 +-- 19 + fb/fbpict.c | 82 ++++++++++++++++++------------------------------------------- 20 + fb/fbtrap.c | 43 ++++++++++++++------------------ 21 + 3 files changed, 43 insertions(+), 85 deletions(-) 22 + 23 + diff --git a/fb/fb.h b/fb/fb.h 24 + index b869d12..895b148 100644 25 + --- a/fb/fb.h 26 + +++ b/fb/fb.h 27 + @@ -1686,8 +1686,7 @@ fbFillRegionSolid(DrawablePtr pDrawable, 28 + RegionPtr pRegion, FbBits and, FbBits xor); 29 + 30 + extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict, 31 + - Bool has_clip, 32 + - int *xoff, int *yoff); 33 + + Bool has_clip); 34 + 35 + extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *); 36 + 37 + diff --git a/fb/fbpict.c b/fb/fbpict.c 38 + index 2804ff4..80c2a91 100644 39 + --- a/fb/fbpict.c 40 + +++ b/fb/fbpict.c 41 + @@ -46,23 +46,18 @@ fbComposite(CARD8 op, 42 + INT16 yMask, INT16 xDst, INT16 yDst, CARD16 width, CARD16 height) 43 + { 44 + pixman_image_t *src, *mask, *dest; 45 + - int src_xoff, src_yoff; 46 + - int msk_xoff, msk_yoff; 47 + - int dst_xoff, dst_yoff; 48 + - 49 + miCompositeSourceValidate(pSrc); 50 + if (pMask) 51 + miCompositeSourceValidate(pMask); 52 + 53 + - src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff); 54 + - mask = image_from_pict(pMask, FALSE, &msk_xoff, &msk_yoff); 55 + - dest = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff); 56 + + src = image_from_pict(pSrc, TRUE); 57 + + mask = image_from_pict(pMask, TRUE); 58 + + dest = image_from_pict(pDst, TRUE); 59 + 60 + if (src && dest && !(pMask && !mask)) { 61 + pixman_image_composite(op, src, mask, dest, 62 + - xSrc + src_xoff, ySrc + src_yoff, 63 + - xMask + msk_xoff, yMask + msk_yoff, 64 + - xDst + dst_xoff, yDst + dst_yoff, width, height); 65 + + xSrc, ySrc, xMask, yMask, xDst, yDst, 66 + + width, height); 67 + } 68 + 69 + free_pixman_pict(pSrc, src); 70 + @@ -293,20 +288,22 @@ create_conical_gradient_image(PictGradient * gradient) 71 + } 72 + 73 + static pixman_image_t * 74 + -create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff) 75 + +create_bits_picture(PicturePtr pict, Bool has_clip) 76 + { 77 + - PixmapPtr pixmap; 78 + FbBits *bits; 79 + FbStride stride; 80 + - int bpp; 81 + + int bpp, xoff, yoff; 82 + pixman_image_t *image; 83 + 84 + - fbGetDrawablePixmap(pict->pDrawable, pixmap, *xoff, *yoff); 85 + - fbGetPixmapBitsData(pixmap, bits, stride, bpp); 86 + + fbGetDrawable (pict->pDrawable, bits, stride, bpp, xoff, yoff); 87 + + 88 + + bits = (FbBits*)((CARD8*)bits + 89 + + (pict->pDrawable->y + yoff) * stride * sizeof(FbBits) + 90 + + (pict->pDrawable->x + xoff) * (bpp / 8)); 91 + 92 + image = pixman_image_create_bits((pixman_format_code_t) pict->format, 93 + - pixmap->drawable.width, 94 + - pixmap->drawable.height, (uint32_t *) bits, 95 + + pict->pDrawable->width, 96 + + pict->pDrawable->height, (uint32_t *) bits, 97 + stride * sizeof(FbStride)); 98 + 99 + if (!image) 100 + @@ -333,57 +330,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff) 101 + if (pict->clientClipType != CT_NONE) 102 + pixman_image_set_has_client_clip(image, TRUE); 103 + 104 + - if (*xoff || *yoff) 105 + - pixman_region_translate(pict->pCompositeClip, *xoff, *yoff); 106 + + pixman_region_translate (pict->pCompositeClip, - pict->pDrawable->x, - pict->pDrawable->y); 107 + 108 + pixman_image_set_clip_region(image, pict->pCompositeClip); 109 + 110 + - if (*xoff || *yoff) 111 + - pixman_region_translate(pict->pCompositeClip, -*xoff, -*yoff); 112 + + pixman_region_translate (pict->pCompositeClip, pict->pDrawable->x, pict->pDrawable->y); 113 + } 114 + 115 + /* Indexed table */ 116 + if (pict->pFormat->index.devPrivate) 117 + pixman_image_set_indexed(image, pict->pFormat->index.devPrivate); 118 + 119 + - /* Add in drawable origin to position within the image */ 120 + - *xoff += pict->pDrawable->x; 121 + - *yoff += pict->pDrawable->y; 122 + - 123 + return image; 124 + } 125 + 126 + static pixman_image_t *image_from_pict_internal(PicturePtr pict, Bool has_clip, 127 + - int *xoff, int *yoff, 128 + Bool is_alpha_map); 129 + 130 + static void 131 + -set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip, 132 + - int *xoff, int *yoff, Bool is_alpha_map) 133 + +set_image_properties(pixman_image_t * image, PicturePtr pict, Bool is_alpha_map) 134 + { 135 + pixman_repeat_t repeat; 136 + pixman_filter_t filter; 137 + 138 + if (pict->transform) { 139 + - /* For source images, adjust the transform to account 140 + - * for the drawable offset within the pixman image, 141 + - * then set the offset to 0 as it will be used 142 + - * to compute positions within the transformed image. 143 + - */ 144 + - if (!has_clip) { 145 + - struct pixman_transform adjusted; 146 + - 147 + - adjusted = *pict->transform; 148 + - pixman_transform_translate(&adjusted, 149 + - NULL, 150 + - pixman_int_to_fixed(*xoff), 151 + - pixman_int_to_fixed(*yoff)); 152 + - pixman_image_set_transform(image, &adjusted); 153 + - *xoff = 0; 154 + - *yoff = 0; 155 + - } 156 + - else 157 + - pixman_image_set_transform(image, pict->transform); 158 + + pixman_image_set_transform(image, pict->transform); 159 + } 160 + 161 + switch (pict->repeatType) { 162 + @@ -411,10 +382,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip, 163 + * as the alpha map for this operation 164 + */ 165 + if (pict->alphaMap && !is_alpha_map) { 166 + - int alpha_xoff, alpha_yoff; 167 + pixman_image_t *alpha_map = 168 + - image_from_pict_internal(pict->alphaMap, FALSE, &alpha_xoff, 169 + - &alpha_yoff, TRUE); 170 + + image_from_pict_internal(pict->alphaMap, TRUE, TRUE); 171 + 172 + pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x, 173 + pict->alphaOrigin.y); 174 + @@ -448,8 +417,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip, 175 + } 176 + 177 + static pixman_image_t * 178 + -image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff, 179 + - Bool is_alpha_map) 180 + +image_from_pict_internal(PicturePtr pict, Bool has_clip, Bool is_alpha_map) 181 + { 182 + pixman_image_t *image = NULL; 183 + 184 + @@ -457,7 +425,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff, 185 + return NULL; 186 + 187 + if (pict->pDrawable) { 188 + - image = create_bits_picture(pict, has_clip, xoff, yoff); 189 + + image = create_bits_picture(pict, has_clip); 190 + } 191 + else if (pict->pSourcePict) { 192 + SourcePict *sp = pict->pSourcePict; 193 + @@ -475,19 +443,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff, 194 + else if (sp->type == SourcePictTypeConical) 195 + image = create_conical_gradient_image(gradient); 196 + } 197 + - *xoff = *yoff = 0; 198 + } 199 + 200 + if (image) 201 + - set_image_properties(image, pict, has_clip, xoff, yoff, is_alpha_map); 202 + - 203 + + set_image_properties (image, pict, is_alpha_map); 204 + return image; 205 + } 206 + 207 + pixman_image_t * 208 + -image_from_pict(PicturePtr pict, Bool has_clip, int *xoff, int *yoff) 209 + +image_from_pict (PicturePtr pict, Bool has_clip) 210 + { 211 + - return image_from_pict_internal(pict, has_clip, xoff, yoff, FALSE); 212 + + return image_from_pict_internal (pict, has_clip, FALSE); 213 + } 214 + 215 + void 216 + diff --git a/fb/fbtrap.c b/fb/fbtrap.c 217 + index bf82f8f..0145ce9 100644 218 + --- a/fb/fbtrap.c 219 + +++ b/fb/fbtrap.c 220 + @@ -36,13 +36,12 @@ fbAddTraps(PicturePtr pPicture, 221 + INT16 x_off, INT16 y_off, int ntrap, xTrap * traps) 222 + { 223 + pixman_image_t *image; 224 + - int dst_xoff, dst_yoff; 225 + 226 + - if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff))) 227 + - return; 228 + - 229 + - pixman_add_traps(image, x_off + dst_xoff, y_off + dst_yoff, 230 + - ntrap, (pixman_trap_t *) traps); 231 + + if (!(image = image_from_pict (pPicture, FALSE))) 232 + + return; 233 + + 234 + + pixman_add_traps(image, x_off, y_off, 235 + + ntrap, (pixman_trap_t *)traps); 236 + 237 + free_pixman_pict(pPicture, image); 238 + } 239 + @@ -52,13 +51,12 @@ fbRasterizeTrapezoid(PicturePtr pPicture, 240 + xTrapezoid * trap, int x_off, int y_off) 241 + { 242 + pixman_image_t *image; 243 + - int dst_xoff, dst_yoff; 244 + 245 + - if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff))) 246 + + if (!(image = image_from_pict (pPicture, FALSE))) 247 + return; 248 + 249 + - pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *) trap, 250 + - x_off + dst_xoff, y_off + dst_yoff); 251 + + pixman_rasterize_trapezoid(image, (pixman_trapezoid_t *)trap, 252 + + x_off, y_off); 253 + 254 + free_pixman_pict(pPicture, image); 255 + } 256 + @@ -68,14 +66,12 @@ fbAddTriangles(PicturePtr pPicture, 257 + INT16 x_off, INT16 y_off, int ntri, xTriangle * tris) 258 + { 259 + pixman_image_t *image; 260 + - int dst_xoff, dst_yoff; 261 + 262 + - if (!(image = image_from_pict(pPicture, FALSE, &dst_xoff, &dst_yoff))) 263 + + if (!(image = image_from_pict (pPicture, FALSE))) 264 + return; 265 + - 266 + - pixman_add_triangles(image, 267 + - dst_xoff + x_off, dst_yoff + y_off, 268 + - ntri, (pixman_triangle_t *) tris); 269 + + 270 + + pixman_add_triangles(image, x_off, y_off, ntri, 271 + + (pixman_triangle_t *)tris); 272 + 273 + free_pixman_pict(pPicture, image); 274 + } 275 + @@ -98,13 +94,11 @@ fbShapes(CompositeShapesFunc composite, 276 + int16_t ySrc, int nshapes, int shape_size, const uint8_t * shapes) 277 + { 278 + pixman_image_t *src, *dst; 279 + - int src_xoff, src_yoff; 280 + - int dst_xoff, dst_yoff; 281 + 282 + miCompositeSourceValidate(pSrc); 283 + 284 + - src = image_from_pict(pSrc, FALSE, &src_xoff, &src_yoff); 285 + - dst = image_from_pict(pDst, TRUE, &dst_xoff, &dst_yoff); 286 + + src = image_from_pict(pSrc, FALSE); 287 + + dst = image_from_pict(pDst, TRUE); 288 + 289 + if (src && dst) { 290 + pixman_format_code_t format; 291 + @@ -121,9 +115,8 @@ fbShapes(CompositeShapesFunc composite, 292 + 293 + for (i = 0; i < nshapes; ++i) { 294 + composite(op, src, dst, format, 295 + - xSrc + src_xoff, 296 + - ySrc + src_yoff, 297 + - dst_xoff, dst_yoff, 1, shapes + i * shape_size); 298 + + xSrc, ySrc, 0, 0, 299 + + 1, shapes + i * shape_size); 300 + } 301 + } 302 + else { 303 + @@ -143,8 +136,8 @@ fbShapes(CompositeShapesFunc composite, 304 + } 305 + 306 + composite(op, src, dst, format, 307 + - xSrc + src_xoff, 308 + - ySrc + src_yoff, dst_xoff, dst_yoff, nshapes, shapes); 309 + + xSrc, ySrc, 0, 0, 310 + + nshapes, shapes); 311 + } 312 + 313 + DamageRegionProcessPending(pDst->pDrawable); 314 + -- 315 + 1.8.4.1 316 +
+230
pkgs/servers/x11/xorg/darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch
··· 1 + From 4a0444a2773bddc3abbf5305a344001ecfe9378c Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Tue, 18 Dec 2012 01:03:38 -0800 4 + Subject: [PATCH 5003/5004] fb: Revert fb changes that broke XQuartz 5 + 6 + http://bugs.freedesktop.org/show_bug.cgi?id=26124 7 + 8 + Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0" 9 + 10 + This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366. 11 + --- 12 + configure.ac | 2 +- 13 + fb/fb.h | 3 -- 14 + fb/fbpict.c | 153 +--------------------------------------------------------- 15 + fb/fbscreen.c | 1 - 16 + 4 files changed, 2 insertions(+), 157 deletions(-) 17 + 18 + diff --git a/configure.ac b/configure.ac 19 + index 8797df5..99a1e62 100644 20 + --- a/configure.ac 21 + +++ b/configure.ac 22 + @@ -811,7 +811,7 @@ LIBPCIACCESS="pciaccess >= 0.12.901" 23 + LIBUDEV="libudev >= 143" 24 + LIBSELINUX="libselinux >= 2.0.86" 25 + LIBDBUS="dbus-1 >= 1.0" 26 + -LIBPIXMAN="pixman-1 >= 0.27.2" 27 + +LIBPIXMAN="pixman-1 >= 0.21.8" 28 + 29 + dnl Pixman is always required, but we separate it out so we can link 30 + dnl specific modules against it 31 + diff --git a/fb/fb.h b/fb/fb.h 32 + index 895b148..cc5759c 100644 33 + --- a/fb/fb.h 34 + +++ b/fb/fb.h 35 + @@ -1344,9 +1344,6 @@ extern _X_EXPORT void 36 + extern _X_EXPORT Bool 37 + fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats); 38 + 39 + -extern _X_EXPORT void 40 + -fbDestroyGlyphCache(void); 41 + - 42 + /* 43 + * fbpixmap.c 44 + */ 45 + diff --git a/fb/fbpict.c b/fb/fbpict.c 46 + index 80c2a91..dc0ca3c 100644 47 + --- a/fb/fbpict.c 48 + +++ b/fb/fbpict.c 49 + @@ -65,156 +65,6 @@ fbComposite(CARD8 op, 50 + free_pixman_pict(pDst, dest); 51 + } 52 + 53 + -static pixman_glyph_cache_t *glyphCache; 54 + - 55 + -void 56 + -fbDestroyGlyphCache(void) 57 + -{ 58 + - if (glyphCache) 59 + - { 60 + - pixman_glyph_cache_destroy (glyphCache); 61 + - glyphCache = NULL; 62 + - } 63 + -} 64 + - 65 + -static void 66 + -fbUnrealizeGlyph(ScreenPtr pScreen, 67 + - GlyphPtr pGlyph) 68 + -{ 69 + - if (glyphCache) 70 + - pixman_glyph_cache_remove (glyphCache, pGlyph, NULL); 71 + -} 72 + - 73 + -static void 74 + -fbGlyphs(CARD8 op, 75 + - PicturePtr pSrc, 76 + - PicturePtr pDst, 77 + - PictFormatPtr maskFormat, 78 + - INT16 xSrc, 79 + - INT16 ySrc, int nlist, 80 + - GlyphListPtr list, 81 + - GlyphPtr *glyphs) 82 + -{ 83 + -#define N_STACK_GLYPHS 512 84 + - ScreenPtr pScreen = pDst->pDrawable->pScreen; 85 + - pixman_glyph_t stack_glyphs[N_STACK_GLYPHS]; 86 + - pixman_glyph_t *pglyphs = stack_glyphs; 87 + - pixman_image_t *srcImage, *dstImage; 88 + - int srcXoff, srcYoff, dstXoff, dstYoff; 89 + - GlyphPtr glyph; 90 + - int n_glyphs; 91 + - int x, y; 92 + - int i, n; 93 + - int xDst = list->xOff, yDst = list->yOff; 94 + - 95 + - miCompositeSourceValidate(pSrc); 96 + - 97 + - n_glyphs = 0; 98 + - for (i = 0; i < nlist; ++i) 99 + - n_glyphs += list[i].len; 100 + - 101 + - if (!glyphCache) 102 + - glyphCache = pixman_glyph_cache_create(); 103 + - 104 + - pixman_glyph_cache_freeze (glyphCache); 105 + - 106 + - if (n_glyphs > N_STACK_GLYPHS) { 107 + - if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t)))) 108 + - goto out; 109 + - } 110 + - 111 + - i = 0; 112 + - x = y = 0; 113 + - while (nlist--) { 114 + - x += list->xOff; 115 + - y += list->yOff; 116 + - n = list->len; 117 + - while (n--) { 118 + - const void *g; 119 + - 120 + - glyph = *glyphs++; 121 + - 122 + - if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) { 123 + - pixman_image_t *glyphImage; 124 + - PicturePtr pPicture; 125 + - int xoff, yoff; 126 + - 127 + - pPicture = GetGlyphPicture(glyph, pScreen); 128 + - if (!pPicture) { 129 + - n_glyphs--; 130 + - goto next; 131 + - } 132 + - 133 + - if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff))) 134 + - goto out; 135 + - 136 + - g = pixman_glyph_cache_insert(glyphCache, glyph, NULL, 137 + - glyph->info.x, 138 + - glyph->info.y, 139 + - glyphImage); 140 + - 141 + - free_pixman_pict(pPicture, glyphImage); 142 + - 143 + - if (!g) 144 + - goto out; 145 + - } 146 + - 147 + - pglyphs[i].x = x; 148 + - pglyphs[i].y = y; 149 + - pglyphs[i].glyph = g; 150 + - i++; 151 + - 152 + - next: 153 + - x += glyph->info.xOff; 154 + - y += glyph->info.yOff; 155 + - } 156 + - list++; 157 + - } 158 + - 159 + - if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff))) 160 + - goto out; 161 + - 162 + - if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff))) 163 + - goto out_free_src; 164 + - 165 + - if (maskFormat) { 166 + - pixman_format_code_t format; 167 + - pixman_box32_t extents; 168 + - int x, y; 169 + - 170 + - format = maskFormat->format | (maskFormat->depth << 24); 171 + - 172 + - pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents); 173 + - 174 + - x = extents.x1; 175 + - y = extents.y1; 176 + - 177 + - pixman_composite_glyphs(op, srcImage, dstImage, format, 178 + - xSrc + srcXoff + xDst, ySrc + srcYoff + yDst, 179 + - x, y, 180 + - x + dstXoff, y + dstYoff, 181 + - extents.x2 - extents.x1, 182 + - extents.y2 - extents.y1, 183 + - glyphCache, n_glyphs, pglyphs); 184 + - } 185 + - else { 186 + - pixman_composite_glyphs_no_mask(op, srcImage, dstImage, 187 + - xSrc + srcXoff - xDst, ySrc + srcYoff - yDst, 188 + - dstXoff, dstYoff, 189 + - glyphCache, n_glyphs, pglyphs); 190 + - } 191 + - 192 + - free_pixman_pict(pDst, dstImage); 193 + - 194 + -out_free_src: 195 + - free_pixman_pict(pSrc, srcImage); 196 + - 197 + -out: 198 + - pixman_glyph_cache_thaw(glyphCache); 199 + - if (pglyphs != stack_glyphs) 200 + - free(pglyphs); 201 + -} 202 + - 203 + static pixman_image_t * 204 + create_solid_fill_image(PicturePtr pict) 205 + { 206 + @@ -473,8 +323,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) 207 + return FALSE; 208 + ps = GetPictureScreen(pScreen); 209 + ps->Composite = fbComposite; 210 + - ps->Glyphs = fbGlyphs; 211 + - ps->UnrealizeGlyph = fbUnrealizeGlyph; 212 + + ps->Glyphs = miGlyphs; 213 + ps->CompositeRects = miCompositeRects; 214 + ps->RasterizeTrapezoid = fbRasterizeTrapezoid; 215 + ps->Trapezoids = fbTrapezoids; 216 + diff --git a/fb/fbscreen.c b/fb/fbscreen.c 217 + index f9080a4..7c7d656 100644 218 + --- a/fb/fbscreen.c 219 + +++ b/fb/fbscreen.c 220 + @@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen) 221 + int d; 222 + DepthPtr depths = pScreen->allowedDepths; 223 + 224 + - fbDestroyGlyphCache(); 225 + for (d = 0; d < pScreen->numDepths; d++) 226 + free(depths[d].vids); 227 + free(depths); 228 + -- 229 + 1.8.4.1 230 +
+297
pkgs/servers/x11/xorg/darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch
··· 1 + From bd9fce8b74f5358e4d7e5ce9b5cdd8fd195bb3fd Mon Sep 17 00:00:00 2001 2 + From: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 3 + Date: Sat, 2 Nov 2013 11:00:23 -0700 4 + Subject: [PATCH 5004/5004] Use old miTrapezoids and miTriangles routines 5 + 6 + Reverts commits: 7 + 788ccb9a8bcf6a4fb4054c507111eec3338fb969 8 + 566f1931ee2916269e164e114bffaf2da1d039d1 9 + 10 + http://xquartz.macosforge.org/trac/ticket/525 11 + 12 + Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> 13 + --- 14 + fb/fbpict.c | 2 - 15 + render/mipict.c | 4 +- 16 + render/mipict.h | 27 ++++++++++++++ 17 + render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 18 + render/mitri.c | 61 +++++++++++++++++++++++++++++++ 19 + 5 files changed, 201 insertions(+), 4 deletions(-) 20 + 21 + diff --git a/fb/fbpict.c b/fb/fbpict.c 22 + index dc0ca3c..276ff06 100644 23 + --- a/fb/fbpict.c 24 + +++ b/fb/fbpict.c 25 + @@ -326,10 +326,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) 26 + ps->Glyphs = miGlyphs; 27 + ps->CompositeRects = miCompositeRects; 28 + ps->RasterizeTrapezoid = fbRasterizeTrapezoid; 29 + - ps->Trapezoids = fbTrapezoids; 30 + ps->AddTraps = fbAddTraps; 31 + ps->AddTriangles = fbAddTriangles; 32 + - ps->Triangles = fbTriangles; 33 + 34 + return TRUE; 35 + } 36 + diff --git a/render/mipict.c b/render/mipict.c 37 + index 2e64b20..d21b58a 100644 38 + --- a/render/mipict.c 39 + +++ b/render/mipict.c 40 + @@ -595,8 +595,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats) 41 + ps->Composite = 0; /* requires DDX support */ 42 + ps->Glyphs = miGlyphs; 43 + ps->CompositeRects = miCompositeRects; 44 + - ps->Trapezoids = 0; 45 + - ps->Triangles = 0; 46 + + ps->Trapezoids = miTrapezoids; 47 + + ps->Triangles = miTriangles; 48 + 49 + ps->RasterizeTrapezoid = 0; /* requires DDX support */ 50 + ps->AddTraps = 0; /* requires DDX support */ 51 + diff --git a/render/mipict.h b/render/mipict.h 52 + index 9436228..7ee2991 100644 53 + --- a/render/mipict.h 54 + +++ b/render/mipict.h 55 + @@ -122,6 +122,16 @@ miCompositeRects(CARD8 op, 56 + xRenderColor * color, int nRect, xRectangle *rects); 57 + 58 + extern _X_EXPORT void 59 + +miTriangles (CARD8 op, 60 + + PicturePtr pSrc, 61 + + PicturePtr pDst, 62 + + PictFormatPtr maskFormat, 63 + + INT16 xSrc, 64 + + INT16 ySrc, 65 + + int ntri, 66 + + xTriangle *tris); 67 + + 68 + +extern _X_EXPORT void 69 + 70 + miTriStrip(CARD8 op, 71 + PicturePtr pSrc, 72 + @@ -137,10 +147,27 @@ miTriFan(CARD8 op, 73 + PictFormatPtr maskFormat, 74 + INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points); 75 + 76 + +extern _X_EXPORT PicturePtr 77 + +miCreateAlphaPicture (ScreenPtr pScreen, 78 + + PicturePtr pDst, 79 + + PictFormatPtr pPictFormat, 80 + + CARD16 width, 81 + + CARD16 height); 82 + + 83 + extern _X_EXPORT void 84 + miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box); 85 + 86 + extern _X_EXPORT void 87 + +miTrapezoids (CARD8 op, 88 + + PicturePtr pSrc, 89 + + PicturePtr pDst, 90 + + PictFormatPtr maskFormat, 91 + + INT16 xSrc, 92 + + INT16 ySrc, 93 + + int ntrap, 94 + + xTrapezoid *traps); 95 + + 96 + +extern _X_EXPORT void 97 + miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds); 98 + 99 + extern _X_EXPORT void 100 + diff --git a/render/mitrap.c b/render/mitrap.c 101 + index 17b6dcd..71c1857 100644 102 + --- a/render/mitrap.c 103 + +++ b/render/mitrap.c 104 + @@ -34,6 +34,55 @@ 105 + #include "picturestr.h" 106 + #include "mipict.h" 107 + 108 + +PicturePtr 109 + +miCreateAlphaPicture (ScreenPtr pScreen, 110 + + PicturePtr pDst, 111 + + PictFormatPtr pPictFormat, 112 + + CARD16 width, 113 + + CARD16 height) 114 + +{ 115 + + PixmapPtr pPixmap; 116 + + PicturePtr pPicture; 117 + + GCPtr pGC; 118 + + int error; 119 + + xRectangle rect; 120 + + 121 + + if (width > 32767 || height > 32767) 122 + + return 0; 123 + + 124 + + if (!pPictFormat) 125 + + { 126 + + if (pDst->polyEdge == PolyEdgeSharp) 127 + + pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1); 128 + + else 129 + + pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8); 130 + + if (!pPictFormat) 131 + + return 0; 132 + + } 133 + + 134 + + pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height, 135 + + pPictFormat->depth, 0); 136 + + if (!pPixmap) 137 + + return 0; 138 + + pGC = GetScratchGC (pPixmap->drawable.depth, pScreen); 139 + + if (!pGC) 140 + + { 141 + + (*pScreen->DestroyPixmap) (pPixmap); 142 + + return 0; 143 + + } 144 + + ValidateGC (&pPixmap->drawable, pGC); 145 + + rect.x = 0; 146 + + rect.y = 0; 147 + + rect.width = width; 148 + + rect.height = height; 149 + + (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect); 150 + + FreeScratchGC (pGC); 151 + + pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat, 152 + + 0, 0, serverClient, &error); 153 + + (*pScreen->DestroyPixmap) (pPixmap); 154 + + return pPicture; 155 + +} 156 + + 157 + static xFixed 158 + miLineFixedX(xLineFixed * l, xFixed y, Bool ceil) 159 + { 160 + @@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box) 161 + box->x2 = x2; 162 + } 163 + } 164 + + 165 + + 166 + +void 167 + +miTrapezoids (CARD8 op, 168 + + PicturePtr pSrc, 169 + + PicturePtr pDst, 170 + + PictFormatPtr maskFormat, 171 + + INT16 xSrc, 172 + + INT16 ySrc, 173 + + int ntrap, 174 + + xTrapezoid *traps) 175 + +{ 176 + + ScreenPtr pScreen = pDst->pDrawable->pScreen; 177 + + PictureScreenPtr ps = GetPictureScreen(pScreen); 178 + + 179 + + /* 180 + + * Check for solid alpha add 181 + + */ 182 + + if (op == PictOpAdd && miIsSolidAlpha (pSrc)) 183 + + { 184 + + for (; ntrap; ntrap--, traps++) 185 + + (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0); 186 + + } 187 + + else if (maskFormat) 188 + + { 189 + + PicturePtr pPicture; 190 + + BoxRec bounds; 191 + + INT16 xDst, yDst; 192 + + INT16 xRel, yRel; 193 + + 194 + + xDst = traps[0].left.p1.x >> 16; 195 + + yDst = traps[0].left.p1.y >> 16; 196 + + 197 + + miTrapezoidBounds (ntrap, traps, &bounds); 198 + + if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2) 199 + + return; 200 + + pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat, 201 + + bounds.x2 - bounds.x1, 202 + + bounds.y2 - bounds.y1); 203 + + if (!pPicture) 204 + + return; 205 + + for (; ntrap; ntrap--, traps++) 206 + + (*ps->RasterizeTrapezoid) (pPicture, traps, 207 + + -bounds.x1, -bounds.y1); 208 + + xRel = bounds.x1 + xSrc - xDst; 209 + + yRel = bounds.y1 + ySrc - yDst; 210 + + CompositePicture (op, pSrc, pPicture, pDst, 211 + + xRel, yRel, 0, 0, bounds.x1, bounds.y1, 212 + + bounds.x2 - bounds.x1, 213 + + bounds.y2 - bounds.y1); 214 + + FreePicture (pPicture, 0); 215 + + } 216 + + else 217 + + { 218 + + if (pDst->polyEdge == PolyEdgeSharp) 219 + + maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1); 220 + + else 221 + + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); 222 + + for (; ntrap; ntrap--, traps++) 223 + + miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps); 224 + + } 225 + +} 226 + diff --git a/render/mitri.c b/render/mitri.c 227 + index 922f22a..bdca9ca 100644 228 + --- a/render/mitri.c 229 + +++ b/render/mitri.c 230 + @@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds) 231 + { 232 + miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds); 233 + } 234 + + 235 + + 236 + +void 237 + +miTriangles (CARD8 op, 238 + + PicturePtr pSrc, 239 + + PicturePtr pDst, 240 + + PictFormatPtr maskFormat, 241 + + INT16 xSrc, 242 + + INT16 ySrc, 243 + + int ntri, 244 + + xTriangle *tris) 245 + +{ 246 + + ScreenPtr pScreen = pDst->pDrawable->pScreen; 247 + + PictureScreenPtr ps = GetPictureScreen(pScreen); 248 + + 249 + + /* 250 + + * Check for solid alpha add 251 + + */ 252 + + if (op == PictOpAdd && miIsSolidAlpha (pSrc)) 253 + + { 254 + + (*ps->AddTriangles) (pDst, 0, 0, ntri, tris); 255 + + } 256 + + else if (maskFormat) 257 + + { 258 + + BoxRec bounds; 259 + + PicturePtr pPicture; 260 + + INT16 xDst, yDst; 261 + + INT16 xRel, yRel; 262 + + 263 + + xDst = tris[0].p1.x >> 16; 264 + + yDst = tris[0].p1.y >> 16; 265 + + 266 + + miTriangleBounds (ntri, tris, &bounds); 267 + + if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1) 268 + + return; 269 + + pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat, 270 + + bounds.x2 - bounds.x1, 271 + + bounds.y2 - bounds.y1); 272 + + if (!pPicture) 273 + + return; 274 + + (*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris); 275 + + 276 + + xRel = bounds.x1 + xSrc - xDst; 277 + + yRel = bounds.y1 + ySrc - yDst; 278 + + CompositePicture (op, pSrc, pPicture, pDst, 279 + + xRel, yRel, 0, 0, bounds.x1, bounds.y1, 280 + + bounds.x2 - bounds.x1, bounds.y2 - bounds.y1); 281 + + FreePicture (pPicture, 0); 282 + + } 283 + + else 284 + + { 285 + + if (pDst->polyEdge == PolyEdgeSharp) 286 + + maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1); 287 + + else 288 + + maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8); 289 + + 290 + + for (; ntri; ntri--, tris++) 291 + + miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris); 292 + + } 293 + +} 294 + + 295 + -- 296 + 1.8.4.1 297 +
+118
pkgs/servers/x11/xorg/darwin/bundle_main.patch
··· 1 + cstrahan: 2 + 3 + This patch makes it possible (and necessary) to specify the default 4 + shell, xterm client, and startx script from environment variables. These 5 + defaults are used when launching the XQuartz.app, which in turn needs to know 6 + how to start the X server. I've patched `command_from_prefs' so that it ignores 7 + the preferences settings and immediately sets them to whatever the environment 8 + variables are. 9 + 10 + When developing an installable package for XQuartz/XQuartz.app, we'll need to 11 + set an `LSEnvironment' entry in the plist for the XQuartz.app, we'll also need 12 + to wrap the XQuartz.app/Contents/MacOS/X11 script (the Xquartz server will 13 + invoke this script during initialization. See stub.patch for more details.). 14 + 15 + diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c 16 + index b403662..b1e2070 100644 17 + --- a/hw/xquartz/mach-startup/bundle-main.c 18 + +++ b/hw/xquartz/mach-startup/bundle-main.c 19 + @@ -77,13 +77,7 @@ FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN; 20 + 21 + extern int noPanoramiXExtension; 22 + 23 + -#define DEFAULT_CLIENT X11BINDIR "/xterm" 24 + -#define DEFAULT_STARTX X11BINDIR "/startx -- " X11BINDIR "/Xquartz" 25 + -#define DEFAULT_SHELL "/bin/sh" 26 + - 27 + -#ifndef BUILD_DATE 28 + #define BUILD_DATE "" 29 + -#endif 30 + #ifndef XSERVER_VERSION 31 + #define XSERVER_VERSION "?" 32 + #endif 33 + @@ -718,14 +712,14 @@ main(int argc, char **argv, char **envp) 34 + pid_t child1, child2; 35 + int status; 36 + 37 + - pref_app_to_run = command_from_prefs("app_to_run", DEFAULT_CLIENT); 38 + + pref_app_to_run = command_from_prefs("app_to_run", getenv("XQUARTZ_DEFAULT_CLIENT")); 39 + assert(pref_app_to_run); 40 + 41 + - pref_login_shell = command_from_prefs("login_shell", DEFAULT_SHELL); 42 + + pref_login_shell = command_from_prefs("login_shell", getenv("XQUARTZ_DEFAULT_SHELL")); 43 + assert(pref_login_shell); 44 + 45 + pref_startx_script = command_from_prefs("startx_script", 46 + - DEFAULT_STARTX); 47 + + getenv("XQUARTZ_DEFAULT_STARTX")); 48 + assert(pref_startx_script); 49 + 50 + /* Do the fork-twice trick to avoid having to reap zombies */ 51 + @@ -804,10 +798,12 @@ execute(const char *command) 52 + static char * 53 + command_from_prefs(const char *key, const char *default_value) 54 + { 55 + + if (default_value == NULL) 56 + + return NULL; 57 + + 58 + char *command = NULL; 59 + 60 + CFStringRef cfKey; 61 + - CFPropertyListRef PlistRef; 62 + 63 + if (!key) 64 + return NULL; 65 + @@ -817,40 +813,24 @@ command_from_prefs(const char *key, const char *default_value) 66 + if (!cfKey) 67 + return NULL; 68 + 69 + - PlistRef = CFPreferencesCopyAppValue(cfKey, 70 + - kCFPreferencesCurrentApplication); 71 + + CFStringRef cfDefaultValue = CFStringCreateWithCString( 72 + + NULL, default_value, kCFStringEncodingASCII); 73 + + int len = strlen(default_value) + 1; 74 + 75 + - if ((PlistRef == NULL) || 76 + - (CFGetTypeID(PlistRef) != CFStringGetTypeID())) { 77 + - CFStringRef cfDefaultValue = CFStringCreateWithCString( 78 + - NULL, default_value, kCFStringEncodingASCII); 79 + - int len = strlen(default_value) + 1; 80 + + if (!cfDefaultValue) 81 + + goto command_from_prefs_out; 82 + 83 + - if (!cfDefaultValue) 84 + - goto command_from_prefs_out; 85 + + CFPreferencesSetAppValue(cfKey, cfDefaultValue, 86 + + kCFPreferencesCurrentApplication); 87 + + CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); 88 + + CFRelease(cfDefaultValue); 89 + 90 + - CFPreferencesSetAppValue(cfKey, cfDefaultValue, 91 + - kCFPreferencesCurrentApplication); 92 + - CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); 93 + - CFRelease(cfDefaultValue); 94 + - 95 + - command = (char *)malloc(len * sizeof(char)); 96 + - if (!command) 97 + - goto command_from_prefs_out; 98 + - strcpy(command, default_value); 99 + - } 100 + - else { 101 + - int len = CFStringGetLength((CFStringRef)PlistRef) + 1; 102 + - command = (char *)malloc(len * sizeof(char)); 103 + - if (!command) 104 + - goto command_from_prefs_out; 105 + - CFStringGetCString((CFStringRef)PlistRef, command, len, 106 + - kCFStringEncodingASCII); 107 + - } 108 + + command = (char *)malloc(len * sizeof(char)); 109 + + if (!command) 110 + + goto command_from_prefs_out; 111 + + strcpy(command, default_value); 112 + 113 + command_from_prefs_out: 114 + - if (PlistRef) 115 + - CFRelease(PlistRef); 116 + if (cfKey) 117 + CFRelease(cfKey); 118 + return command;
+1409
pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h
··· 1 + /* 2 + * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. 3 + * Copyright 2007-2008 Red Hat, Inc. 4 + * (C) Copyright IBM Corporation 2004 5 + * All Rights Reserved. 6 + * 7 + * Permission is hereby granted, free of charge, to any person obtaining a 8 + * copy of this software and associated documentation files (the "Software"), 9 + * to deal in the Software without restriction, including without limitation 10 + * on the rights to use, copy, modify, merge, publish, distribute, sub 11 + * license, and/or sell copies of the Software, and to permit persons to whom 12 + * the Software is furnished to do so, subject to the following conditions: 13 + * 14 + * The above copyright notice and this permission notice (including the next 15 + * paragraph) shall be included in all copies or substantial portions of the 16 + * Software. 17 + * 18 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL 21 + * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, 22 + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 23 + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 24 + * USE OR OTHER DEALINGS IN THE SOFTWARE. 25 + */ 26 + 27 + /** 28 + * \file dri_interface.h 29 + * 30 + * This file contains all the types and functions that define the interface 31 + * between a DRI driver and driver loader. Currently, the most common driver 32 + * loader is the XFree86 libGL.so. However, other loaders do exist, and in 33 + * the future the server-side libglx.a will also be a loader. 34 + * 35 + * \author Kevin E. Martin <kevin@precisioninsight.com> 36 + * \author Ian Romanick <idr@us.ibm.com> 37 + * \author Kristian Høgsberg <krh@redhat.com> 38 + */ 39 + 40 + #ifndef DRI_INTERFACE_H 41 + #define DRI_INTERFACE_H 42 + 43 + /* For archs with no drm.h */ 44 + #if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__) 45 + #ifndef __NOT_HAVE_DRM_H 46 + #define __NOT_HAVE_DRM_H 47 + #endif 48 + #endif 49 + 50 + #ifndef __NOT_HAVE_DRM_H 51 + #include <drm.h> 52 + #else 53 + typedef unsigned int drm_context_t; 54 + typedef unsigned int drm_drawable_t; 55 + typedef struct drm_clip_rect drm_clip_rect_t; 56 + #endif 57 + 58 + /** 59 + * \name DRI interface structures 60 + * 61 + * The following structures define the interface between the GLX client 62 + * side library and the DRI (direct rendering infrastructure). 63 + */ 64 + /*@{*/ 65 + typedef struct __DRIdisplayRec __DRIdisplay; 66 + typedef struct __DRIscreenRec __DRIscreen; 67 + typedef struct __DRIcontextRec __DRIcontext; 68 + typedef struct __DRIdrawableRec __DRIdrawable; 69 + typedef struct __DRIconfigRec __DRIconfig; 70 + typedef struct __DRIframebufferRec __DRIframebuffer; 71 + typedef struct __DRIversionRec __DRIversion; 72 + 73 + typedef struct __DRIcoreExtensionRec __DRIcoreExtension; 74 + typedef struct __DRIextensionRec __DRIextension; 75 + typedef struct __DRIcopySubBufferExtensionRec __DRIcopySubBufferExtension; 76 + typedef struct __DRIswapControlExtensionRec __DRIswapControlExtension; 77 + typedef struct __DRIframeTrackingExtensionRec __DRIframeTrackingExtension; 78 + typedef struct __DRImediaStreamCounterExtensionRec __DRImediaStreamCounterExtension; 79 + typedef struct __DRItexOffsetExtensionRec __DRItexOffsetExtension; 80 + typedef struct __DRItexBufferExtensionRec __DRItexBufferExtension; 81 + typedef struct __DRIlegacyExtensionRec __DRIlegacyExtension; 82 + typedef struct __DRIswrastExtensionRec __DRIswrastExtension; 83 + typedef struct __DRIbufferRec __DRIbuffer; 84 + typedef struct __DRIdri2ExtensionRec __DRIdri2Extension; 85 + typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension; 86 + typedef struct __DRI2flushExtensionRec __DRI2flushExtension; 87 + typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension; 88 + 89 + 90 + typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension; 91 + typedef struct __DRIimageDriverExtensionRec __DRIimageDriverExtension; 92 + 93 + /*@}*/ 94 + 95 + 96 + /** 97 + * Extension struct. Drivers 'inherit' from this struct by embedding 98 + * it as the first element in the extension struct. 99 + * 100 + * We never break API in for a DRI extension. If we need to change 101 + * the way things work in a non-backwards compatible manner, we 102 + * introduce a new extension. During a transition period, we can 103 + * leave both the old and the new extension in the driver, which 104 + * allows us to move to the new interface without having to update the 105 + * loader(s) in lock step. 106 + * 107 + * However, we can add entry points to an extension over time as long 108 + * as we don't break the old ones. As we add entry points to an 109 + * extension, we increase the version number. The corresponding 110 + * #define can be used to guard code that accesses the new entry 111 + * points at compile time and the version field in the extension 112 + * struct can be used at run-time to determine how to use the 113 + * extension. 114 + */ 115 + struct __DRIextensionRec { 116 + const char *name; 117 + int version; 118 + }; 119 + 120 + /** 121 + * The first set of extension are the screen extensions, returned by 122 + * __DRIcore::getExtensions(). This entry point will return a list of 123 + * extensions and the loader can use the ones it knows about by 124 + * casting them to more specific extensions and advertising any GLX 125 + * extensions the DRI extensions enables. 126 + */ 127 + 128 + /** 129 + * Used by drivers to indicate support for setting the read drawable. 130 + */ 131 + #define __DRI_READ_DRAWABLE "DRI_ReadDrawable" 132 + #define __DRI_READ_DRAWABLE_VERSION 1 133 + 134 + /** 135 + * Used by drivers that implement the GLX_MESA_copy_sub_buffer extension. 136 + */ 137 + #define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer" 138 + #define __DRI_COPY_SUB_BUFFER_VERSION 1 139 + struct __DRIcopySubBufferExtensionRec { 140 + __DRIextension base; 141 + void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h); 142 + }; 143 + 144 + /** 145 + * Used by drivers that implement the GLX_SGI_swap_control or 146 + * GLX_MESA_swap_control extension. 147 + */ 148 + #define __DRI_SWAP_CONTROL "DRI_SwapControl" 149 + #define __DRI_SWAP_CONTROL_VERSION 1 150 + struct __DRIswapControlExtensionRec { 151 + __DRIextension base; 152 + void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval); 153 + unsigned int (*getSwapInterval)(__DRIdrawable *drawable); 154 + }; 155 + 156 + /** 157 + * Used by drivers that implement the GLX_MESA_swap_frame_usage extension. 158 + */ 159 + #define __DRI_FRAME_TRACKING "DRI_FrameTracking" 160 + #define __DRI_FRAME_TRACKING_VERSION 1 161 + struct __DRIframeTrackingExtensionRec { 162 + __DRIextension base; 163 + 164 + /** 165 + * Enable or disable frame usage tracking. 166 + * 167 + * \since Internal API version 20030317. 168 + */ 169 + int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable); 170 + 171 + /** 172 + * Retrieve frame usage information. 173 + * 174 + * \since Internal API version 20030317. 175 + */ 176 + int (*queryFrameTracking)(__DRIdrawable *drawable, 177 + int64_t * sbc, int64_t * missedFrames, 178 + float * lastMissedUsage, float * usage); 179 + }; 180 + 181 + 182 + /** 183 + * Used by drivers that implement the GLX_SGI_video_sync extension. 184 + */ 185 + #define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter" 186 + #define __DRI_MEDIA_STREAM_COUNTER_VERSION 1 187 + struct __DRImediaStreamCounterExtensionRec { 188 + __DRIextension base; 189 + 190 + /** 191 + * Wait for the MSC to equal target_msc, or, if that has already passed, 192 + * the next time (MSC % divisor) is equal to remainder. If divisor is 193 + * zero, the function will return as soon as MSC is greater than or equal 194 + * to target_msc. 195 + */ 196 + int (*waitForMSC)(__DRIdrawable *drawable, 197 + int64_t target_msc, int64_t divisor, int64_t remainder, 198 + int64_t * msc, int64_t * sbc); 199 + 200 + /** 201 + * Get the number of vertical refreshes since some point in time before 202 + * this function was first called (i.e., system start up). 203 + */ 204 + int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable, 205 + int64_t *msc); 206 + }; 207 + 208 + 209 + #define __DRI_TEX_OFFSET "DRI_TexOffset" 210 + #define __DRI_TEX_OFFSET_VERSION 1 211 + struct __DRItexOffsetExtensionRec { 212 + __DRIextension base; 213 + 214 + /** 215 + * Method to override base texture image with a driver specific 'offset'. 216 + * The depth passed in allows e.g. to ignore the alpha channel of texture 217 + * images where the non-alpha components don't occupy a whole texel. 218 + * 219 + * For GLX_EXT_texture_from_pixmap with AIGLX. 220 + */ 221 + void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname, 222 + unsigned long long offset, GLint depth, GLuint pitch); 223 + }; 224 + 225 + 226 + /* Valid values for format in the setTexBuffer2 function below. These 227 + * values match the GLX tokens for compatibility reasons, but we 228 + * define them here since the DRI interface can't depend on GLX. */ 229 + #define __DRI_TEXTURE_FORMAT_NONE 0x20D8 230 + #define __DRI_TEXTURE_FORMAT_RGB 0x20D9 231 + #define __DRI_TEXTURE_FORMAT_RGBA 0x20DA 232 + 233 + #define __DRI_TEX_BUFFER "DRI_TexBuffer" 234 + #define __DRI_TEX_BUFFER_VERSION 2 235 + struct __DRItexBufferExtensionRec { 236 + __DRIextension base; 237 + 238 + /** 239 + * Method to override base texture image with the contents of a 240 + * __DRIdrawable. 241 + * 242 + * For GLX_EXT_texture_from_pixmap with AIGLX. Deprecated in favor of 243 + * setTexBuffer2 in version 2 of this interface 244 + */ 245 + void (*setTexBuffer)(__DRIcontext *pDRICtx, 246 + GLint target, 247 + __DRIdrawable *pDraw); 248 + 249 + /** 250 + * Method to override base texture image with the contents of a 251 + * __DRIdrawable, including the required texture format attribute. 252 + * 253 + * For GLX_EXT_texture_from_pixmap with AIGLX. 254 + */ 255 + void (*setTexBuffer2)(__DRIcontext *pDRICtx, 256 + GLint target, 257 + GLint format, 258 + __DRIdrawable *pDraw); 259 + /** 260 + * Method to release texture buffer in case some special platform 261 + * need this. 262 + * 263 + * For GLX_EXT_texture_from_pixmap with AIGLX. 264 + */ 265 + void (*releaseTexBuffer)(__DRIcontext *pDRICtx, 266 + GLint target, 267 + __DRIdrawable *pDraw); 268 + }; 269 + 270 + /** 271 + * Used by drivers that implement DRI2 272 + */ 273 + #define __DRI2_FLUSH "DRI2_Flush" 274 + #define __DRI2_FLUSH_VERSION 4 275 + 276 + #define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */ 277 + #define __DRI2_FLUSH_CONTEXT (1 << 1) /* glFlush should be called */ 278 + 279 + enum __DRI2throttleReason { 280 + __DRI2_THROTTLE_SWAPBUFFER, 281 + __DRI2_THROTTLE_COPYSUBBUFFER, 282 + __DRI2_THROTTLE_FLUSHFRONT 283 + }; 284 + 285 + struct __DRI2flushExtensionRec { 286 + __DRIextension base; 287 + void (*flush)(__DRIdrawable *drawable); 288 + 289 + /** 290 + * Ask the driver to call getBuffers/getBuffersWithFormat before 291 + * it starts rendering again. 292 + * 293 + * \param drawable the drawable to invalidate 294 + * 295 + * \since 3 296 + */ 297 + void (*invalidate)(__DRIdrawable *drawable); 298 + 299 + /** 300 + * This function reduces the number of flushes in the driver by combining 301 + * several operations into one call. 302 + * 303 + * It can: 304 + * - throttle 305 + * - flush a drawable 306 + * - flush a context 307 + * 308 + * \param context the context 309 + * \param drawable the drawable to flush 310 + * \param flags a combination of _DRI2_FLUSH_xxx flags 311 + * \param throttle_reason the reason for throttling, 0 = no throttling 312 + * 313 + * \since 4 314 + */ 315 + void (*flush_with_flags)(__DRIcontext *ctx, 316 + __DRIdrawable *drawable, 317 + unsigned flags, 318 + enum __DRI2throttleReason throttle_reason); 319 + }; 320 + 321 + 322 + /** 323 + * Extension that the driver uses to request 324 + * throttle callbacks. 325 + */ 326 + 327 + #define __DRI2_THROTTLE "DRI2_Throttle" 328 + #define __DRI2_THROTTLE_VERSION 1 329 + 330 + struct __DRI2throttleExtensionRec { 331 + __DRIextension base; 332 + void (*throttle)(__DRIcontext *ctx, 333 + __DRIdrawable *drawable, 334 + enum __DRI2throttleReason reason); 335 + }; 336 + 337 + /*@}*/ 338 + 339 + /** 340 + * The following extensions describe loader features that the DRI 341 + * driver can make use of. Some of these are mandatory, such as the 342 + * getDrawableInfo extension for DRI and the DRI Loader extensions for 343 + * DRI2, while others are optional, and if present allow the driver to 344 + * expose certain features. The loader pass in a NULL terminated 345 + * array of these extensions to the driver in the createNewScreen 346 + * constructor. 347 + */ 348 + 349 + typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension; 350 + typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension; 351 + typedef struct __DRIdamageExtensionRec __DRIdamageExtension; 352 + typedef struct __DRIloaderExtensionRec __DRIloaderExtension; 353 + typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension; 354 + 355 + 356 + /** 357 + * Callback to getDrawableInfo protocol 358 + */ 359 + #define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo" 360 + #define __DRI_GET_DRAWABLE_INFO_VERSION 1 361 + struct __DRIgetDrawableInfoExtensionRec { 362 + __DRIextension base; 363 + 364 + /** 365 + * This function is used to get information about the position, size, and 366 + * clip rects of a drawable. 367 + */ 368 + GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable, 369 + unsigned int * index, unsigned int * stamp, 370 + int * x, int * y, int * width, int * height, 371 + int * numClipRects, drm_clip_rect_t ** pClipRects, 372 + int * backX, int * backY, 373 + int * numBackClipRects, drm_clip_rect_t ** pBackClipRects, 374 + void *loaderPrivate); 375 + }; 376 + 377 + /** 378 + * Callback to get system time for media stream counter extensions. 379 + */ 380 + #define __DRI_SYSTEM_TIME "DRI_SystemTime" 381 + #define __DRI_SYSTEM_TIME_VERSION 1 382 + struct __DRIsystemTimeExtensionRec { 383 + __DRIextension base; 384 + 385 + /** 386 + * Get the 64-bit unadjusted system time (UST). 387 + */ 388 + int (*getUST)(int64_t * ust); 389 + 390 + /** 391 + * Get the media stream counter (MSC) rate. 392 + * 393 + * Matching the definition in GLX_OML_sync_control, this function returns 394 + * the rate of the "media stream counter". In practical terms, this is 395 + * the frame refresh rate of the display. 396 + */ 397 + GLboolean (*getMSCRate)(__DRIdrawable *draw, 398 + int32_t * numerator, int32_t * denominator, 399 + void *loaderPrivate); 400 + }; 401 + 402 + /** 403 + * Damage reporting 404 + */ 405 + #define __DRI_DAMAGE "DRI_Damage" 406 + #define __DRI_DAMAGE_VERSION 1 407 + struct __DRIdamageExtensionRec { 408 + __DRIextension base; 409 + 410 + /** 411 + * Reports areas of the given drawable which have been modified by the 412 + * driver. 413 + * 414 + * \param drawable which the drawing was done to. 415 + * \param rects rectangles affected, with the drawable origin as the 416 + * origin. 417 + * \param x X offset of the drawable within the screen (used in the 418 + * front_buffer case) 419 + * \param y Y offset of the drawable within the screen. 420 + * \param front_buffer boolean flag for whether the drawing to the 421 + * drawable was actually done directly to the front buffer (instead 422 + * of backing storage, for example) 423 + * \param loaderPrivate the data passed in at createNewDrawable time 424 + */ 425 + void (*reportDamage)(__DRIdrawable *draw, 426 + int x, int y, 427 + drm_clip_rect_t *rects, int num_rects, 428 + GLboolean front_buffer, 429 + void *loaderPrivate); 430 + }; 431 + 432 + #define __DRI_SWRAST_IMAGE_OP_DRAW 1 433 + #define __DRI_SWRAST_IMAGE_OP_CLEAR 2 434 + #define __DRI_SWRAST_IMAGE_OP_SWAP 3 435 + 436 + /** 437 + * SWRast Loader extension. 438 + */ 439 + #define __DRI_SWRAST_LOADER "DRI_SWRastLoader" 440 + #define __DRI_SWRAST_LOADER_VERSION 1 441 + struct __DRIswrastLoaderExtensionRec { 442 + __DRIextension base; 443 + 444 + /* 445 + * Drawable position and size 446 + */ 447 + void (*getDrawableInfo)(__DRIdrawable *drawable, 448 + int *x, int *y, int *width, int *height, 449 + void *loaderPrivate); 450 + 451 + /** 452 + * Put image to drawable 453 + */ 454 + void (*putImage)(__DRIdrawable *drawable, int op, 455 + int x, int y, int width, int height, 456 + char *data, void *loaderPrivate); 457 + 458 + /** 459 + * Get image from readable 460 + */ 461 + void (*getImage)(__DRIdrawable *readable, 462 + int x, int y, int width, int height, 463 + char *data, void *loaderPrivate); 464 + }; 465 + 466 + /** 467 + * Invalidate loader extension. The presence of this extension 468 + * indicates to the DRI driver that the loader will call invalidate in 469 + * the __DRI2_FLUSH extension, whenever the needs to query for new 470 + * buffers. This means that the DRI driver can drop the polling in 471 + * glViewport(). 472 + * 473 + * The extension doesn't provide any functionality, it's only use to 474 + * indicate to the driver that it can use the new semantics. A DRI 475 + * driver can use this to switch between the different semantics or 476 + * just refuse to initialize if this extension isn't present. 477 + */ 478 + #define __DRI_USE_INVALIDATE "DRI_UseInvalidate" 479 + #define __DRI_USE_INVALIDATE_VERSION 1 480 + 481 + typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension; 482 + struct __DRIuseInvalidateExtensionRec { 483 + __DRIextension base; 484 + }; 485 + 486 + /** 487 + * The remaining extensions describe driver extensions, immediately 488 + * available interfaces provided by the driver. To start using the 489 + * driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for 490 + * the extension you need in the array. 491 + */ 492 + #define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions" 493 + 494 + /** 495 + * This symbol replaces the __DRI_DRIVER_EXTENSIONS symbol, and will be 496 + * suffixed by "_drivername", allowing multiple drivers to be built into one 497 + * library, and also giving the driver the chance to return a variable driver 498 + * extensions struct depending on the driver name being loaded or any other 499 + * system state. 500 + * 501 + * The function prototype is: 502 + * 503 + * const __DRIextension **__driDriverGetExtensions_drivername(void); 504 + */ 505 + #define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions" 506 + 507 + /** 508 + * Tokens for __DRIconfig attribs. A number of attributes defined by 509 + * GLX or EGL standards are not in the table, as they must be provided 510 + * by the loader. For example, FBConfig ID or visual ID, drawable type. 511 + */ 512 + 513 + #define __DRI_ATTRIB_BUFFER_SIZE 1 514 + #define __DRI_ATTRIB_LEVEL 2 515 + #define __DRI_ATTRIB_RED_SIZE 3 516 + #define __DRI_ATTRIB_GREEN_SIZE 4 517 + #define __DRI_ATTRIB_BLUE_SIZE 5 518 + #define __DRI_ATTRIB_LUMINANCE_SIZE 6 519 + #define __DRI_ATTRIB_ALPHA_SIZE 7 520 + #define __DRI_ATTRIB_ALPHA_MASK_SIZE 8 521 + #define __DRI_ATTRIB_DEPTH_SIZE 9 522 + #define __DRI_ATTRIB_STENCIL_SIZE 10 523 + #define __DRI_ATTRIB_ACCUM_RED_SIZE 11 524 + #define __DRI_ATTRIB_ACCUM_GREEN_SIZE 12 525 + #define __DRI_ATTRIB_ACCUM_BLUE_SIZE 13 526 + #define __DRI_ATTRIB_ACCUM_ALPHA_SIZE 14 527 + #define __DRI_ATTRIB_SAMPLE_BUFFERS 15 528 + #define __DRI_ATTRIB_SAMPLES 16 529 + #define __DRI_ATTRIB_RENDER_TYPE 17 530 + #define __DRI_ATTRIB_CONFIG_CAVEAT 18 531 + #define __DRI_ATTRIB_CONFORMANT 19 532 + #define __DRI_ATTRIB_DOUBLE_BUFFER 20 533 + #define __DRI_ATTRIB_STEREO 21 534 + #define __DRI_ATTRIB_AUX_BUFFERS 22 535 + #define __DRI_ATTRIB_TRANSPARENT_TYPE 23 536 + #define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE 24 537 + #define __DRI_ATTRIB_TRANSPARENT_RED_VALUE 25 538 + #define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE 26 539 + #define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE 27 540 + #define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE 28 541 + #define __DRI_ATTRIB_FLOAT_MODE 29 542 + #define __DRI_ATTRIB_RED_MASK 30 543 + #define __DRI_ATTRIB_GREEN_MASK 31 544 + #define __DRI_ATTRIB_BLUE_MASK 32 545 + #define __DRI_ATTRIB_ALPHA_MASK 33 546 + #define __DRI_ATTRIB_MAX_PBUFFER_WIDTH 34 547 + #define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT 35 548 + #define __DRI_ATTRIB_MAX_PBUFFER_PIXELS 36 549 + #define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH 37 550 + #define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT 38 551 + #define __DRI_ATTRIB_VISUAL_SELECT_GROUP 39 552 + #define __DRI_ATTRIB_SWAP_METHOD 40 553 + #define __DRI_ATTRIB_MAX_SWAP_INTERVAL 41 554 + #define __DRI_ATTRIB_MIN_SWAP_INTERVAL 42 555 + #define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB 43 556 + #define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA 44 557 + #define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE 45 558 + #define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS 46 559 + #define __DRI_ATTRIB_YINVERTED 47 560 + #define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE 48 561 + 562 + /* __DRI_ATTRIB_RENDER_TYPE */ 563 + #define __DRI_ATTRIB_RGBA_BIT 0x01 564 + #define __DRI_ATTRIB_COLOR_INDEX_BIT 0x02 565 + #define __DRI_ATTRIB_LUMINANCE_BIT 0x04 566 + #define __DRI_ATTRIB_FLOAT_BIT 0x08 567 + #define __DRI_ATTRIB_UNSIGNED_FLOAT_BIT 0x10 568 + 569 + /* __DRI_ATTRIB_CONFIG_CAVEAT */ 570 + #define __DRI_ATTRIB_SLOW_BIT 0x01 571 + #define __DRI_ATTRIB_NON_CONFORMANT_CONFIG 0x02 572 + 573 + /* __DRI_ATTRIB_TRANSPARENT_TYPE */ 574 + #define __DRI_ATTRIB_TRANSPARENT_RGB 0x00 575 + #define __DRI_ATTRIB_TRANSPARENT_INDEX 0x01 576 + 577 + /* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS */ 578 + #define __DRI_ATTRIB_TEXTURE_1D_BIT 0x01 579 + #define __DRI_ATTRIB_TEXTURE_2D_BIT 0x02 580 + #define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT 0x04 581 + 582 + /** 583 + * This extension defines the core DRI functionality. 584 + */ 585 + #define __DRI_CORE "DRI_Core" 586 + #define __DRI_CORE_VERSION 1 587 + 588 + struct __DRIcoreExtensionRec { 589 + __DRIextension base; 590 + 591 + __DRIscreen *(*createNewScreen)(int screen, int fd, 592 + unsigned int sarea_handle, 593 + const __DRIextension **extensions, 594 + const __DRIconfig ***driverConfigs, 595 + void *loaderPrivate); 596 + 597 + void (*destroyScreen)(__DRIscreen *screen); 598 + 599 + const __DRIextension **(*getExtensions)(__DRIscreen *screen); 600 + 601 + int (*getConfigAttrib)(const __DRIconfig *config, 602 + unsigned int attrib, 603 + unsigned int *value); 604 + 605 + int (*indexConfigAttrib)(const __DRIconfig *config, int index, 606 + unsigned int *attrib, unsigned int *value); 607 + 608 + __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen, 609 + const __DRIconfig *config, 610 + unsigned int drawable_id, 611 + unsigned int head, 612 + void *loaderPrivate); 613 + 614 + void (*destroyDrawable)(__DRIdrawable *drawable); 615 + 616 + void (*swapBuffers)(__DRIdrawable *drawable); 617 + 618 + __DRIcontext *(*createNewContext)(__DRIscreen *screen, 619 + const __DRIconfig *config, 620 + __DRIcontext *shared, 621 + void *loaderPrivate); 622 + 623 + int (*copyContext)(__DRIcontext *dest, 624 + __DRIcontext *src, 625 + unsigned long mask); 626 + 627 + void (*destroyContext)(__DRIcontext *context); 628 + 629 + int (*bindContext)(__DRIcontext *ctx, 630 + __DRIdrawable *pdraw, 631 + __DRIdrawable *pread); 632 + 633 + int (*unbindContext)(__DRIcontext *ctx); 634 + }; 635 + 636 + /** 637 + * Stored version of some component (i.e., server-side DRI module, kernel-side 638 + * DRM, etc.). 639 + * 640 + * \todo 641 + * There are several data structures that explicitly store a major version, 642 + * minor version, and patch level. These structures should be modified to 643 + * have a \c __DRIversionRec instead. 644 + */ 645 + struct __DRIversionRec { 646 + int major; /**< Major version number. */ 647 + int minor; /**< Minor version number. */ 648 + int patch; /**< Patch-level. */ 649 + }; 650 + 651 + /** 652 + * Framebuffer information record. Used by libGL to communicate information 653 + * about the framebuffer to the driver's \c __driCreateNewScreen function. 654 + * 655 + * In XFree86, most of this information is derrived from data returned by 656 + * calling \c XF86DRIGetDeviceInfo. 657 + * 658 + * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen 659 + * __driUtilCreateNewScreen CallCreateNewScreen 660 + * 661 + * \bug This structure could be better named. 662 + */ 663 + struct __DRIframebufferRec { 664 + unsigned char *base; /**< Framebuffer base address in the CPU's 665 + * address space. This value is calculated by 666 + * calling \c drmMap on the framebuffer handle 667 + * returned by \c XF86DRIGetDeviceInfo (or a 668 + * similar function). 669 + */ 670 + int size; /**< Framebuffer size, in bytes. */ 671 + int stride; /**< Number of bytes from one line to the next. */ 672 + int width; /**< Pixel width of the framebuffer. */ 673 + int height; /**< Pixel height of the framebuffer. */ 674 + int dev_priv_size; /**< Size of the driver's dev-priv structure. */ 675 + void *dev_priv; /**< Pointer to the driver's dev-priv structure. */ 676 + }; 677 + 678 + 679 + /** 680 + * This extension provides alternative screen, drawable and context 681 + * constructors for legacy DRI functionality. This is used in 682 + * conjunction with the core extension. 683 + */ 684 + #define __DRI_LEGACY "DRI_Legacy" 685 + #define __DRI_LEGACY_VERSION 1 686 + 687 + struct __DRIlegacyExtensionRec { 688 + __DRIextension base; 689 + 690 + __DRIscreen *(*createNewScreen)(int screen, 691 + const __DRIversion *ddx_version, 692 + const __DRIversion *dri_version, 693 + const __DRIversion *drm_version, 694 + const __DRIframebuffer *frame_buffer, 695 + void *pSAREA, int fd, 696 + const __DRIextension **extensions, 697 + const __DRIconfig ***driver_configs, 698 + void *loaderPrivate); 699 + 700 + __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen, 701 + const __DRIconfig *config, 702 + drm_drawable_t hwDrawable, 703 + int renderType, const int *attrs, 704 + void *loaderPrivate); 705 + 706 + __DRIcontext *(*createNewContext)(__DRIscreen *screen, 707 + const __DRIconfig *config, 708 + int render_type, 709 + __DRIcontext *shared, 710 + drm_context_t hwContext, 711 + void *loaderPrivate); 712 + }; 713 + 714 + /** 715 + * This extension provides alternative screen, drawable and context 716 + * constructors for swrast DRI functionality. This is used in 717 + * conjunction with the core extension. 718 + */ 719 + #define __DRI_SWRAST "DRI_SWRast" 720 + #define __DRI_SWRAST_VERSION 4 721 + 722 + struct __DRIswrastExtensionRec { 723 + __DRIextension base; 724 + 725 + __DRIscreen *(*createNewScreen)(int screen, 726 + const __DRIextension **extensions, 727 + const __DRIconfig ***driver_configs, 728 + void *loaderPrivate); 729 + 730 + __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen, 731 + const __DRIconfig *config, 732 + void *loaderPrivate); 733 + 734 + /* Since version 2 */ 735 + __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen, 736 + int api, 737 + const __DRIconfig *config, 738 + __DRIcontext *shared, 739 + void *data); 740 + 741 + /** 742 + * Create a context for a particular API with a set of attributes 743 + * 744 + * \since version 3 745 + * 746 + * \sa __DRIdri2ExtensionRec::createContextAttribs 747 + */ 748 + __DRIcontext *(*createContextAttribs)(__DRIscreen *screen, 749 + int api, 750 + const __DRIconfig *config, 751 + __DRIcontext *shared, 752 + unsigned num_attribs, 753 + const uint32_t *attribs, 754 + unsigned *error, 755 + void *loaderPrivate); 756 + 757 + /** 758 + * createNewScreen() with the driver extensions passed in. 759 + * 760 + * \since version 4 761 + */ 762 + __DRIscreen *(*createNewScreen2)(int screen, 763 + const __DRIextension **loader_extensions, 764 + const __DRIextension **driver_extensions, 765 + const __DRIconfig ***driver_configs, 766 + void *loaderPrivate); 767 + 768 + }; 769 + 770 + /** Common DRI function definitions, shared among DRI2 and Image extensions 771 + */ 772 + 773 + typedef __DRIscreen * 774 + (*__DRIcreateNewScreen2Func)(int screen, int fd, 775 + const __DRIextension **extensions, 776 + const __DRIextension **driver_extensions, 777 + const __DRIconfig ***driver_configs, 778 + void *loaderPrivate); 779 + 780 + typedef __DRIdrawable * 781 + (*__DRIcreateNewDrawableFunc)(__DRIscreen *screen, 782 + const __DRIconfig *config, 783 + void *loaderPrivate); 784 + 785 + typedef __DRIcontext * 786 + (*__DRIcreateContextAttribsFunc)(__DRIscreen *screen, 787 + int api, 788 + const __DRIconfig *config, 789 + __DRIcontext *shared, 790 + unsigned num_attribs, 791 + const uint32_t *attribs, 792 + unsigned *error, 793 + void *loaderPrivate); 794 + 795 + typedef unsigned int 796 + (*__DRIgetAPIMaskFunc)(__DRIscreen *screen); 797 + 798 + /** 799 + * DRI2 Loader extension. 800 + */ 801 + #define __DRI_BUFFER_FRONT_LEFT 0 802 + #define __DRI_BUFFER_BACK_LEFT 1 803 + #define __DRI_BUFFER_FRONT_RIGHT 2 804 + #define __DRI_BUFFER_BACK_RIGHT 3 805 + #define __DRI_BUFFER_DEPTH 4 806 + #define __DRI_BUFFER_STENCIL 5 807 + #define __DRI_BUFFER_ACCUM 6 808 + #define __DRI_BUFFER_FAKE_FRONT_LEFT 7 809 + #define __DRI_BUFFER_FAKE_FRONT_RIGHT 8 810 + #define __DRI_BUFFER_DEPTH_STENCIL 9 /**< Only available with DRI2 1.1 */ 811 + #define __DRI_BUFFER_HIZ 10 812 + 813 + /* Inofficial and for internal use. Increase when adding a new buffer token. */ 814 + #define __DRI_BUFFER_COUNT 11 815 + 816 + struct __DRIbufferRec { 817 + unsigned int attachment; 818 + unsigned int name; 819 + unsigned int pitch; 820 + unsigned int cpp; 821 + unsigned int flags; 822 + }; 823 + 824 + #define __DRI_DRI2_LOADER "DRI_DRI2Loader" 825 + #define __DRI_DRI2_LOADER_VERSION 3 826 + struct __DRIdri2LoaderExtensionRec { 827 + __DRIextension base; 828 + 829 + __DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable, 830 + int *width, int *height, 831 + unsigned int *attachments, int count, 832 + int *out_count, void *loaderPrivate); 833 + 834 + /** 835 + * Flush pending front-buffer rendering 836 + * 837 + * Any rendering that has been performed to the 838 + * \c __DRI_BUFFER_FAKE_FRONT_LEFT will be flushed to the 839 + * \c __DRI_BUFFER_FRONT_LEFT. 840 + * 841 + * \param driDrawable Drawable whose front-buffer is to be flushed 842 + * \param loaderPrivate Loader's private data that was previously passed 843 + * into __DRIdri2ExtensionRec::createNewDrawable 844 + */ 845 + void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate); 846 + 847 + 848 + /** 849 + * Get list of buffers from the server 850 + * 851 + * Gets a list of buffer for the specified set of attachments. Unlike 852 + * \c ::getBuffers, this function takes a list of attachments paired with 853 + * opaque \c unsigned \c int value describing the format of the buffer. 854 + * It is the responsibility of the caller to know what the service that 855 + * allocates the buffers will expect to receive for the format. 856 + * 857 + * \param driDrawable Drawable whose buffers are being queried. 858 + * \param width Output where the width of the buffers is stored. 859 + * \param height Output where the height of the buffers is stored. 860 + * \param attachments List of pairs of attachment ID and opaque format 861 + * requested for the drawable. 862 + * \param count Number of attachment / format pairs stored in 863 + * \c attachments. 864 + * \param loaderPrivate Loader's private data that was previously passed 865 + * into __DRIdri2ExtensionRec::createNewDrawable. 866 + */ 867 + __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable, 868 + int *width, int *height, 869 + unsigned int *attachments, int count, 870 + int *out_count, void *loaderPrivate); 871 + }; 872 + 873 + /** 874 + * This extension provides alternative screen, drawable and context 875 + * constructors for DRI2. 876 + */ 877 + #define __DRI_DRI2 "DRI_DRI2" 878 + #define __DRI_DRI2_VERSION 4 879 + 880 + #define __DRI_API_OPENGL 0 /**< OpenGL compatibility profile */ 881 + #define __DRI_API_GLES 1 /**< OpenGL ES 1.x */ 882 + #define __DRI_API_GLES2 2 /**< OpenGL ES 2.x */ 883 + #define __DRI_API_OPENGL_CORE 3 /**< OpenGL 3.2+ core profile */ 884 + #define __DRI_API_GLES3 4 /**< OpenGL ES 3.x */ 885 + 886 + #define __DRI_CTX_ATTRIB_MAJOR_VERSION 0 887 + #define __DRI_CTX_ATTRIB_MINOR_VERSION 1 888 + #define __DRI_CTX_ATTRIB_FLAGS 2 889 + 890 + /** 891 + * \requires __DRI2_ROBUSTNESS. 892 + */ 893 + #define __DRI_CTX_ATTRIB_RESET_STRATEGY 3 894 + 895 + #define __DRI_CTX_FLAG_DEBUG 0x00000001 896 + #define __DRI_CTX_FLAG_FORWARD_COMPATIBLE 0x00000002 897 + 898 + /** 899 + * \requires __DRI2_ROBUSTNESS. 900 + */ 901 + #define __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS 0x00000004 902 + 903 + /** 904 + * \name Context reset strategies. 905 + */ 906 + /*@{*/ 907 + #define __DRI_CTX_RESET_NO_NOTIFICATION 0 908 + #define __DRI_CTX_RESET_LOSE_CONTEXT 1 909 + /*@}*/ 910 + 911 + /** 912 + * \name Reasons that __DRIdri2Extension::createContextAttribs might fail 913 + */ 914 + /*@{*/ 915 + /** Success! */ 916 + #define __DRI_CTX_ERROR_SUCCESS 0 917 + 918 + /** Memory allocation failure */ 919 + #define __DRI_CTX_ERROR_NO_MEMORY 1 920 + 921 + /** Client requested an API (e.g., OpenGL ES 2.0) that the driver can't do. */ 922 + #define __DRI_CTX_ERROR_BAD_API 2 923 + 924 + /** Client requested an API version that the driver can't do. */ 925 + #define __DRI_CTX_ERROR_BAD_VERSION 3 926 + 927 + /** Client requested a flag or combination of flags the driver can't do. */ 928 + #define __DRI_CTX_ERROR_BAD_FLAG 4 929 + 930 + /** Client requested an attribute the driver doesn't understand. */ 931 + #define __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE 5 932 + 933 + /** Client requested a flag the driver doesn't understand. */ 934 + #define __DRI_CTX_ERROR_UNKNOWN_FLAG 6 935 + /*@}*/ 936 + 937 + struct __DRIdri2ExtensionRec { 938 + __DRIextension base; 939 + 940 + __DRIscreen *(*createNewScreen)(int screen, int fd, 941 + const __DRIextension **extensions, 942 + const __DRIconfig ***driver_configs, 943 + void *loaderPrivate); 944 + 945 + __DRIcreateNewDrawableFunc createNewDrawable; 946 + __DRIcontext *(*createNewContext)(__DRIscreen *screen, 947 + const __DRIconfig *config, 948 + __DRIcontext *shared, 949 + void *loaderPrivate); 950 + 951 + /* Since version 2 */ 952 + __DRIgetAPIMaskFunc getAPIMask; 953 + 954 + __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen, 955 + int api, 956 + const __DRIconfig *config, 957 + __DRIcontext *shared, 958 + void *data); 959 + 960 + __DRIbuffer *(*allocateBuffer)(__DRIscreen *screen, 961 + unsigned int attachment, 962 + unsigned int format, 963 + int width, 964 + int height); 965 + void (*releaseBuffer)(__DRIscreen *screen, 966 + __DRIbuffer *buffer); 967 + 968 + /** 969 + * Create a context for a particular API with a set of attributes 970 + * 971 + * \since version 3 972 + * 973 + * \sa __DRIswrastExtensionRec::createContextAttribs 974 + */ 975 + __DRIcreateContextAttribsFunc createContextAttribs; 976 + 977 + /** 978 + * createNewScreen with the driver's extension list passed in. 979 + * 980 + * \since version 4 981 + */ 982 + __DRIcreateNewScreen2Func createNewScreen2; 983 + }; 984 + 985 + 986 + /** 987 + * This extension provides functionality to enable various EGLImage 988 + * extensions. 989 + */ 990 + #define __DRI_IMAGE "DRI_IMAGE" 991 + #define __DRI_IMAGE_VERSION 8 992 + 993 + /** 994 + * These formats correspond to the similarly named MESA_FORMAT_* 995 + * tokens, except in the native endian of the CPU. For example, on 996 + * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to 997 + * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian. 998 + * 999 + * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable 1000 + * by the driver (YUV planar formats) but serve as a base image for 1001 + * creating sub-images for the different planes within the image. 1002 + * 1003 + * R8, GR88 and NONE should not be used with createImageFormName or 1004 + * createImage, and are returned by query from sub images created with 1005 + * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88). 1006 + */ 1007 + #define __DRI_IMAGE_FORMAT_RGB565 0x1001 1008 + #define __DRI_IMAGE_FORMAT_XRGB8888 0x1002 1009 + #define __DRI_IMAGE_FORMAT_ARGB8888 0x1003 1010 + #define __DRI_IMAGE_FORMAT_ABGR8888 0x1004 1011 + #define __DRI_IMAGE_FORMAT_XBGR8888 0x1005 1012 + #define __DRI_IMAGE_FORMAT_R8 0x1006 /* Since version 5 */ 1013 + #define __DRI_IMAGE_FORMAT_GR88 0x1007 1014 + #define __DRI_IMAGE_FORMAT_NONE 0x1008 1015 + #define __DRI_IMAGE_FORMAT_XRGB2101010 0x1009 1016 + #define __DRI_IMAGE_FORMAT_ARGB2101010 0x100a 1017 + #define __DRI_IMAGE_FORMAT_SARGB8 0x100b 1018 + 1019 + #define __DRI_IMAGE_USE_SHARE 0x0001 1020 + #define __DRI_IMAGE_USE_SCANOUT 0x0002 1021 + #define __DRI_IMAGE_USE_CURSOR 0x0004 /* Depricated */ 1022 + #define __DRI_IMAGE_USE_LINEAR 0x0008 1023 + 1024 + 1025 + /** 1026 + * Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h 1027 + * and GBM_FORMAT_* from gbm.h, used with createImageFromNames. 1028 + * 1029 + * \since 5 1030 + */ 1031 + 1032 + #define __DRI_IMAGE_FOURCC_RGB565 0x36314752 1033 + #define __DRI_IMAGE_FOURCC_ARGB8888 0x34325241 1034 + #define __DRI_IMAGE_FOURCC_XRGB8888 0x34325258 1035 + #define __DRI_IMAGE_FOURCC_ABGR8888 0x34324241 1036 + #define __DRI_IMAGE_FOURCC_XBGR8888 0x34324258 1037 + #define __DRI_IMAGE_FOURCC_YUV410 0x39565559 1038 + #define __DRI_IMAGE_FOURCC_YUV411 0x31315559 1039 + #define __DRI_IMAGE_FOURCC_YUV420 0x32315559 1040 + #define __DRI_IMAGE_FOURCC_YUV422 0x36315559 1041 + #define __DRI_IMAGE_FOURCC_YUV444 0x34325559 1042 + #define __DRI_IMAGE_FOURCC_NV12 0x3231564e 1043 + #define __DRI_IMAGE_FOURCC_NV16 0x3631564e 1044 + #define __DRI_IMAGE_FOURCC_YUYV 0x56595559 1045 + 1046 + 1047 + /** 1048 + * Queryable on images created by createImageFromNames. 1049 + * 1050 + * RGB and RGBA are may be usable directly as images but its still 1051 + * recommended to call fromPlanar with plane == 0. 1052 + * 1053 + * Y_U_V, Y_UV and Y_XUXV all requires call to fromPlanar to create 1054 + * usable sub-images, sampling from images return raw YUV data and 1055 + * color conversion needs to be done in the shader. 1056 + * 1057 + * \since 5 1058 + */ 1059 + 1060 + #define __DRI_IMAGE_COMPONENTS_RGB 0x3001 1061 + #define __DRI_IMAGE_COMPONENTS_RGBA 0x3002 1062 + #define __DRI_IMAGE_COMPONENTS_Y_U_V 0x3003 1063 + #define __DRI_IMAGE_COMPONENTS_Y_UV 0x3004 1064 + #define __DRI_IMAGE_COMPONENTS_Y_XUXV 0x3005 1065 + 1066 + 1067 + /** 1068 + * queryImage attributes 1069 + */ 1070 + 1071 + #define __DRI_IMAGE_ATTRIB_STRIDE 0x2000 1072 + #define __DRI_IMAGE_ATTRIB_HANDLE 0x2001 1073 + #define __DRI_IMAGE_ATTRIB_NAME 0x2002 1074 + #define __DRI_IMAGE_ATTRIB_FORMAT 0x2003 /* available in versions 3+ */ 1075 + #define __DRI_IMAGE_ATTRIB_WIDTH 0x2004 /* available in versions 4+ */ 1076 + #define __DRI_IMAGE_ATTRIB_HEIGHT 0x2005 1077 + #define __DRI_IMAGE_ATTRIB_COMPONENTS 0x2006 /* available in versions 5+ */ 1078 + #define __DRI_IMAGE_ATTRIB_FD 0x2007 /* available in versions 1079 + * 7+. Each query will return a 1080 + * new fd. */ 1081 + 1082 + enum __DRIYUVColorSpace { 1083 + __DRI_YUV_COLOR_SPACE_UNDEFINED = 0, 1084 + __DRI_YUV_COLOR_SPACE_ITU_REC601 = 0x327F, 1085 + __DRI_YUV_COLOR_SPACE_ITU_REC709 = 0x3280, 1086 + __DRI_YUV_COLOR_SPACE_ITU_REC2020 = 0x3281 1087 + }; 1088 + 1089 + enum __DRISampleRange { 1090 + __DRI_YUV_RANGE_UNDEFINED = 0, 1091 + __DRI_YUV_FULL_RANGE = 0x3282, 1092 + __DRI_YUV_NARROW_RANGE = 0x3283 1093 + }; 1094 + 1095 + enum __DRIChromaSiting { 1096 + __DRI_YUV_CHROMA_SITING_UNDEFINED = 0, 1097 + __DRI_YUV_CHROMA_SITING_0 = 0x3284, 1098 + __DRI_YUV_CHROMA_SITING_0_5 = 0x3285 1099 + }; 1100 + 1101 + /** 1102 + * \name Reasons that __DRIimageExtensionRec::createImageFromTexture might fail 1103 + */ 1104 + /*@{*/ 1105 + /** Success! */ 1106 + #define __DRI_IMAGE_ERROR_SUCCESS 0 1107 + 1108 + /** Memory allocation failure */ 1109 + #define __DRI_IMAGE_ERROR_BAD_ALLOC 1 1110 + 1111 + /** Client requested an invalid attribute for a texture object */ 1112 + #define __DRI_IMAGE_ERROR_BAD_MATCH 2 1113 + 1114 + /** Client requested an invalid texture object */ 1115 + #define __DRI_IMAGE_ERROR_BAD_PARAMETER 3 1116 + /*@}*/ 1117 + 1118 + typedef struct __DRIimageRec __DRIimage; 1119 + typedef struct __DRIimageExtensionRec __DRIimageExtension; 1120 + struct __DRIimageExtensionRec { 1121 + __DRIextension base; 1122 + 1123 + __DRIimage *(*createImageFromName)(__DRIscreen *screen, 1124 + int width, int height, int format, 1125 + int name, int pitch, 1126 + void *loaderPrivate); 1127 + 1128 + __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context, 1129 + int renderbuffer, 1130 + void *loaderPrivate); 1131 + 1132 + void (*destroyImage)(__DRIimage *image); 1133 + 1134 + __DRIimage *(*createImage)(__DRIscreen *screen, 1135 + int width, int height, int format, 1136 + unsigned int use, 1137 + void *loaderPrivate); 1138 + 1139 + GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value); 1140 + 1141 + /** 1142 + * The new __DRIimage will share the content with the old one, see dup(2). 1143 + */ 1144 + __DRIimage *(*dupImage)(__DRIimage *image, void *loaderPrivate); 1145 + 1146 + /** 1147 + * Validate that a __DRIimage can be used a certain way. 1148 + * 1149 + * \since 2 1150 + */ 1151 + GLboolean (*validateUsage)(__DRIimage *image, unsigned int use); 1152 + 1153 + /** 1154 + * Unlike createImageFromName __DRI_IMAGE_FORMAT is not but instead 1155 + * __DRI_IMAGE_FOURCC and strides are in bytes not pixels. Stride is 1156 + * also per block and not per pixel (for non-RGB, see gallium blocks). 1157 + * 1158 + * \since 5 1159 + */ 1160 + __DRIimage *(*createImageFromNames)(__DRIscreen *screen, 1161 + int width, int height, int fourcc, 1162 + int *names, int num_names, 1163 + int *strides, int *offsets, 1164 + void *loaderPrivate); 1165 + 1166 + /** 1167 + * Create an image out of a sub-region of a parent image. This 1168 + * entry point lets us create individual __DRIimages for different 1169 + * planes in a planar buffer (typically yuv), for example. While a 1170 + * sub-image shares the underlying buffer object with the parent 1171 + * image and other sibling sub-images, the life times of parent and 1172 + * sub-images are not dependent. Destroying the parent or a 1173 + * sub-image doesn't affect other images. The underlying buffer 1174 + * object is free when no __DRIimage remains that references it. 1175 + * 1176 + * Sub-images may overlap, but rendering to overlapping sub-images 1177 + * is undefined. 1178 + * 1179 + * \since 5 1180 + */ 1181 + __DRIimage *(*fromPlanar)(__DRIimage *image, int plane, 1182 + void *loaderPrivate); 1183 + 1184 + /** 1185 + * Create image from texture. 1186 + * 1187 + * \since 6 1188 + */ 1189 + __DRIimage *(*createImageFromTexture)(__DRIcontext *context, 1190 + int target, 1191 + unsigned texture, 1192 + int depth, 1193 + int level, 1194 + unsigned *error, 1195 + void *loaderPrivate); 1196 + /** 1197 + * Like createImageFromNames, but takes a prime fd instead. 1198 + * 1199 + * \since 7 1200 + */ 1201 + __DRIimage *(*createImageFromFds)(__DRIscreen *screen, 1202 + int width, int height, int fourcc, 1203 + int *fds, int num_fds, 1204 + int *strides, int *offsets, 1205 + void *loaderPrivate); 1206 + 1207 + /** 1208 + * Like createImageFromFds, but takes additional attributes. 1209 + * 1210 + * For EGL_EXT_image_dma_buf_import. 1211 + * 1212 + * \since 8 1213 + */ 1214 + __DRIimage *(*createImageFromDmaBufs)(__DRIscreen *screen, 1215 + int width, int height, int fourcc, 1216 + int *fds, int num_fds, 1217 + int *strides, int *offsets, 1218 + enum __DRIYUVColorSpace color_space, 1219 + enum __DRISampleRange sample_range, 1220 + enum __DRIChromaSiting horiz_siting, 1221 + enum __DRIChromaSiting vert_siting, 1222 + unsigned *error, 1223 + void *loaderPrivate); 1224 + }; 1225 + 1226 + 1227 + /** 1228 + * This extension must be implemented by the loader and passed to the 1229 + * driver at screen creation time. The EGLImage entry points in the 1230 + * various client APIs take opaque EGLImage handles and use this 1231 + * extension to map them to a __DRIimage. At version 1, this 1232 + * extensions allows mapping EGLImage pointers to __DRIimage pointers, 1233 + * but future versions could support other EGLImage-like, opaque types 1234 + * with new lookup functions. 1235 + */ 1236 + #define __DRI_IMAGE_LOOKUP "DRI_IMAGE_LOOKUP" 1237 + #define __DRI_IMAGE_LOOKUP_VERSION 1 1238 + 1239 + typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension; 1240 + struct __DRIimageLookupExtensionRec { 1241 + __DRIextension base; 1242 + 1243 + __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image, 1244 + void *loaderPrivate); 1245 + }; 1246 + 1247 + /** 1248 + * This extension allows for common DRI2 options 1249 + */ 1250 + #define __DRI2_CONFIG_QUERY "DRI_CONFIG_QUERY" 1251 + #define __DRI2_CONFIG_QUERY_VERSION 1 1252 + 1253 + typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension; 1254 + struct __DRI2configQueryExtensionRec { 1255 + __DRIextension base; 1256 + 1257 + int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val); 1258 + int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val); 1259 + int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val); 1260 + }; 1261 + 1262 + /** 1263 + * Robust context driver extension. 1264 + * 1265 + * Existence of this extension means the driver can accept the 1266 + * \c __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the 1267 + * \c __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in 1268 + * \c __DRIdri2ExtensionRec::createContextAttribs. 1269 + */ 1270 + #define __DRI2_ROBUSTNESS "DRI_Robustness" 1271 + #define __DRI2_ROBUSTNESS_VERSION 1 1272 + 1273 + typedef struct __DRIrobustnessExtensionRec __DRIrobustnessExtension; 1274 + struct __DRIrobustnessExtensionRec { 1275 + __DRIextension base; 1276 + }; 1277 + 1278 + /** 1279 + * DRI config options extension. 1280 + * 1281 + * This extension provides the XML string containing driver options for use by 1282 + * the loader in supporting the driconf application. 1283 + */ 1284 + #define __DRI_CONFIG_OPTIONS "DRI_ConfigOptions" 1285 + #define __DRI_CONFIG_OPTIONS_VERSION 1 1286 + 1287 + typedef struct __DRIconfigOptionsExtensionRec { 1288 + __DRIextension base; 1289 + const char *xml; 1290 + } __DRIconfigOptionsExtension; 1291 + 1292 + /** 1293 + * This extension provides a driver vtable to a set of common driver helper 1294 + * functions (driCoreExtension, driDRI2Extension) within the driver 1295 + * implementation, as opposed to having to pass them through a global 1296 + * variable. 1297 + * 1298 + * It is not intended to be public API to the actual loader, and the vtable 1299 + * layout may change at any time. 1300 + */ 1301 + #define __DRI_DRIVER_VTABLE "DRI_DriverVtable" 1302 + #define __DRI_DRIVER_VTABLE_VERSION 1 1303 + 1304 + typedef struct __DRIDriverVtableExtensionRec { 1305 + __DRIextension base; 1306 + const struct __DriverAPIRec *vtable; 1307 + } __DRIDriverVtableExtension; 1308 + 1309 + /** 1310 + * Query renderer driver extension 1311 + * 1312 + * This allows the window system layer (either EGL or GLX) to query aspects of 1313 + * hardware and driver support without creating a context. 1314 + */ 1315 + #define __DRI2_RENDERER_QUERY "DRI_RENDERER_QUERY" 1316 + #define __DRI2_RENDERER_QUERY_VERSION 1 1317 + 1318 + #define __DRI2_RENDERER_VENDOR_ID 0x0000 1319 + #define __DRI2_RENDERER_DEVICE_ID 0x0001 1320 + #define __DRI2_RENDERER_VERSION 0x0002 1321 + #define __DRI2_RENDERER_ACCELERATED 0x0003 1322 + #define __DRI2_RENDERER_VIDEO_MEMORY 0x0004 1323 + #define __DRI2_RENDERER_UNIFIED_MEMORY_ARCHITECTURE 0x0005 1324 + #define __DRI2_RENDERER_PREFERRED_PROFILE 0x0006 1325 + #define __DRI2_RENDERER_OPENGL_CORE_PROFILE_VERSION 0x0007 1326 + #define __DRI2_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION 0x0008 1327 + #define __DRI2_RENDERER_OPENGL_ES_PROFILE_VERSION 0x0009 1328 + #define __DRI2_RENDERER_OPENGL_ES2_PROFILE_VERSION 0x000a 1329 + 1330 + typedef struct __DRI2rendererQueryExtensionRec __DRI2rendererQueryExtension; 1331 + struct __DRI2rendererQueryExtensionRec { 1332 + __DRIextension base; 1333 + 1334 + int (*queryInteger)(__DRIscreen *screen, int attribute, unsigned int *val); 1335 + int (*queryString)(__DRIscreen *screen, int attribute, const char **val); 1336 + }; 1337 + 1338 + /** 1339 + * Image Loader extension. Drivers use this to allocate color buffers 1340 + */ 1341 + 1342 + enum __DRIimageBufferMask { 1343 + __DRI_IMAGE_BUFFER_BACK = (1 << 0), 1344 + __DRI_IMAGE_BUFFER_FRONT = (1 << 1) 1345 + }; 1346 + 1347 + struct __DRIimageList { 1348 + uint32_t image_mask; 1349 + __DRIimage *back; 1350 + __DRIimage *front; 1351 + }; 1352 + 1353 + #define __DRI_IMAGE_LOADER "DRI_IMAGE_LOADER" 1354 + #define __DRI_IMAGE_LOADER_VERSION 1 1355 + 1356 + struct __DRIimageLoaderExtensionRec { 1357 + __DRIextension base; 1358 + 1359 + /** 1360 + * Allocate color buffers. 1361 + * 1362 + * \param driDrawable 1363 + * \param width Width of allocated buffers 1364 + * \param height Height of allocated buffers 1365 + * \param format one of __DRI_IMAGE_FORMAT_* 1366 + * \param stamp Address of variable to be updated when 1367 + * getBuffers must be called again 1368 + * \param loaderPrivate The loaderPrivate for driDrawable 1369 + * \param buffer_mask Set of buffers to allocate 1370 + * \param buffers Returned buffers 1371 + */ 1372 + int (*getBuffers)(__DRIdrawable *driDrawable, 1373 + unsigned int format, 1374 + uint32_t *stamp, 1375 + void *loaderPrivate, 1376 + uint32_t buffer_mask, 1377 + struct __DRIimageList *buffers); 1378 + 1379 + /** 1380 + * Flush pending front-buffer rendering 1381 + * 1382 + * Any rendering that has been performed to the 1383 + * fake front will be flushed to the front 1384 + * 1385 + * \param driDrawable Drawable whose front-buffer is to be flushed 1386 + * \param loaderPrivate Loader's private data that was previously passed 1387 + * into __DRIdri2ExtensionRec::createNewDrawable 1388 + */ 1389 + void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate); 1390 + }; 1391 + 1392 + /** 1393 + * DRI extension. 1394 + */ 1395 + 1396 + #define __DRI_IMAGE_DRIVER "DRI_IMAGE_DRIVER" 1397 + #define __DRI_IMAGE_DRIVER_VERSION 1 1398 + 1399 + struct __DRIimageDriverExtensionRec { 1400 + __DRIextension base; 1401 + 1402 + /* Common DRI functions, shared with DRI2 */ 1403 + __DRIcreateNewScreen2Func createNewScreen2; 1404 + __DRIcreateNewDrawableFunc createNewDrawable; 1405 + __DRIcreateContextAttribsFunc createContextAttribs; 1406 + __DRIgetAPIMaskFunc getAPIMask; 1407 + }; 1408 + 1409 + #endif
+46
pkgs/servers/x11/xorg/darwin/function-pointer-test.patch
··· 1 + These are functions, not function pointers, so they always evaluate to true. 2 + 3 + diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m 4 + index 5445c6f..8574bf1 100644 5 + --- a/hw/xquartz/X11Controller.m 6 + +++ b/hw/xquartz/X11Controller.m 7 + @@ -364,7 +364,6 @@ extern char *bundle_id_prefix; 8 + } 9 + 10 + #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 11 + - if (asl_log_descriptor) { 12 + char *asl_sender; 13 + aslmsg amsg = asl_new(ASL_TYPE_MSG); 14 + assert(amsg); 15 + @@ -394,7 +393,6 @@ extern char *bundle_id_prefix; 16 + asl_log_descriptor(aslc, amsg, ASL_LEVEL_NOTICE, stderr_pipe[0], ASL_LOG_DESCRIPTOR_READ); 17 + 18 + asl_free(amsg); 19 + - } 20 + #endif 21 + 22 + /* Do the fork-twice trick to avoid having to reap zombies */ 23 + @@ -414,11 +412,9 @@ extern char *bundle_id_prefix; 24 + 25 + case 0: /* child2 */ 26 + #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 27 + - if (asl_log_descriptor) { 28 + /* Replace our stdout/stderr */ 29 + dup2(stdout_pipe[1], STDOUT_FILENO); 30 + dup2(stderr_pipe[1], STDERR_FILENO); 31 + - } 32 + #endif 33 + 34 + /* close all open files except for standard streams */ 35 + @@ -443,11 +439,9 @@ extern char *bundle_id_prefix; 36 + } 37 + 38 + #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1080 39 + - if (asl_log_descriptor) { 40 + /* Close the write ends of the pipe */ 41 + close(stdout_pipe[1]); 42 + close(stderr_pipe[1]); 43 + - } 44 + #endif 45 + } 46 +
+12
pkgs/servers/x11/xorg/darwin/private-extern.patch
··· 1 + diff --git a/hw/xquartz/xpr/x-list.new.h b/hw/xquartz/xpr/x-list.h 2 + index 28385fd..71f9d26 100644 3 + --- a/hw/xquartz/xpr/x-list.new.h 4 + +++ b/hw/xquartz/xpr/x-list.h 5 + @@ -45,6 +45,7 @@ struct x_list_struct { 6 + #endif 7 + 8 + #ifndef X_EXTERN 9 + +#define __private_extern__ extern 10 + #define X_EXTERN __private_extern__ 11 + #endif 12 +
+80
pkgs/servers/x11/xorg/darwin/stub.patch
··· 1 + cstrahan: 2 + 3 + When the X / Xquartz server initiallizes, it starts the XQuartz.app and 4 + hands-off the display FD. To start the XQuartz.app, Xquartz normally uses some 5 + system calls to get the path of the application by app bundle id, and then 6 + executes the Contents/MacOS/X11 script contained inside, which in turn executes 7 + Contents/MacOS/X11.bin (the actual app). 8 + 9 + This patch replaces that discovery technique with a simple call to 10 + `getenv'. In order to make Xquartz actually work, we'll need another wrapper 11 + that sets the `XQUARTZ_X11' environment variable to point to the `X11' script. 12 + 13 + diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c 14 + index 756e4ef..3313a55 100644 15 + --- a/hw/xquartz/mach-startup/stub.c 16 + +++ b/hw/xquartz/mach-startup/stub.c 17 + @@ -61,54 +61,16 @@ aslclient aslc; 18 + static void 19 + set_x11_path(void) 20 + { 21 + -#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 22 + - 23 + - CFURLRef appURL = NULL; 24 + - OSStatus osstatus = 25 + - LSFindApplicationForInfo(kLSUnknownCreator, CFSTR( 26 + - kX11AppBundleId), nil, nil, &appURL); 27 + - 28 + - switch (osstatus) { 29 + - case noErr: 30 + - if (appURL == NULL) { 31 + - asl_log( 32 + - aslc, NULL, ASL_LEVEL_ERR, 33 + - "Xquartz: Invalid response from LSFindApplicationForInfo(%s)", 34 + - kX11AppBundleId); 35 + - exit(1); 36 + - } 37 + - 38 + - if (!CFURLGetFileSystemRepresentation(appURL, true, 39 + - (unsigned char *)x11_path, 40 + - sizeof(x11_path))) { 41 + - asl_log(aslc, NULL, ASL_LEVEL_ERR, 42 + - "Xquartz: Error resolving URL for %s", 43 + - kX11AppBundleId); 44 + - exit(3); 45 + - } 46 + - 47 + - strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path)); 48 + - asl_log(aslc, NULL, ASL_LEVEL_INFO, "Xquartz: X11.app = %s", x11_path); 49 + - break; 50 + - 51 + - case kLSApplicationNotFoundErr: 52 + - asl_log(aslc, NULL, ASL_LEVEL_ERR, 53 + - "Xquartz: Unable to find application for %s", 54 + - kX11AppBundleId); 55 + - exit(10); 56 + - 57 + - default: 58 + - asl_log(aslc, NULL, ASL_LEVEL_ERR, 59 + - "Xquartz: Unable to find application for %s, error code = %d", 60 + - kX11AppBundleId, 61 + - (int)osstatus); 62 + - exit(11); 63 + + char *xquartzX11 = getenv("XQUARTZ_X11"); 64 + + if (xquartzX11) { 65 + + strlcpy(x11_path, xquartzX11, 66 + + sizeof(x11_path)); 67 + + } else { 68 + + asl_log( 69 + + aslc, NULL, ASL_LEVEL_ERR, 70 + + "Xquartz: XQUARTZ_X11 environment variable not set"); 71 + + exit(1); 72 + } 73 + -#else 74 + - /* TODO: Make Tiger smarter... but TBH, this should never get called on Tiger... */ 75 + - strlcpy(x11_path, "/Applications/Utilities/X11.app/Contents/MacOS/X11", 76 + - sizeof(x11_path)); 77 + -#endif 78 + } 79 + 80 + static int
+442 -422
pkgs/servers/x11/xorg/default.nix
··· 3 3 4 4 let 5 5 6 + mkDerivation = name: attrs: 7 + let newAttrs = (overrides."${name}" or (x: x)) attrs; 8 + stdenv = newAttrs.stdenv or args.stdenv; 9 + in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]); 10 + 6 11 overrides = import ./overrides.nix {inherit args xorg;}; 7 12 8 13 xorg = rec { 9 14 10 15 inherit pixman; 11 16 12 - applewmproto = (stdenv.mkDerivation ((if overrides ? applewmproto then overrides.applewmproto else x: x) { 17 + applewmproto = (mkDerivation "applewmproto" { 13 18 name = "applewmproto-1.4.2"; 14 19 builder = ./builder.sh; 15 20 src = fetchurl { ··· 17 22 sha256 = "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw"; 18 23 }; 19 24 buildInputs = [pkgconfig ]; 20 - })) // {inherit ;}; 25 + }) // {inherit ;}; 21 26 22 - bdftopcf = (stdenv.mkDerivation ((if overrides ? bdftopcf then overrides.bdftopcf else x: x) { 27 + bdftopcf = (mkDerivation "bdftopcf" { 23 28 name = "bdftopcf-1.0.4"; 24 29 builder = ./builder.sh; 25 30 src = fetchurl { ··· 27 32 sha256 = "1617zmgnx50n7vxlqyj84fl7vnk813jjqmi6jpigyz1xp9br1xga"; 28 33 }; 29 34 buildInputs = [pkgconfig libXfont ]; 30 - })) // {inherit libXfont ;}; 35 + }) // {inherit libXfont ;}; 31 36 32 - bigreqsproto = (stdenv.mkDerivation ((if overrides ? bigreqsproto then overrides.bigreqsproto else x: x) { 37 + bigreqsproto = (mkDerivation "bigreqsproto" { 33 38 name = "bigreqsproto-1.1.2"; 34 39 builder = ./builder.sh; 35 40 src = fetchurl { ··· 37 42 sha256 = "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6"; 38 43 }; 39 44 buildInputs = [pkgconfig ]; 40 - })) // {inherit ;}; 45 + }) // {inherit ;}; 41 46 42 - compositeproto = (stdenv.mkDerivation ((if overrides ? compositeproto then overrides.compositeproto else x: x) { 47 + compositeproto = (mkDerivation "compositeproto" { 43 48 name = "compositeproto-0.4.2"; 44 49 builder = ./builder.sh; 45 50 src = fetchurl { ··· 47 52 sha256 = "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4"; 48 53 }; 49 54 buildInputs = [pkgconfig ]; 50 - })) // {inherit ;}; 55 + }) // {inherit ;}; 51 56 52 - damageproto = (stdenv.mkDerivation ((if overrides ? damageproto then overrides.damageproto else x: x) { 57 + damageproto = (mkDerivation "damageproto" { 53 58 name = "damageproto-1.2.1"; 54 59 builder = ./builder.sh; 55 60 src = fetchurl { ··· 57 62 sha256 = "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w"; 58 63 }; 59 64 buildInputs = [pkgconfig ]; 60 - })) // {inherit ;}; 65 + }) // {inherit ;}; 61 66 62 - dmxproto = (stdenv.mkDerivation ((if overrides ? dmxproto then overrides.dmxproto else x: x) { 67 + dmxproto = (mkDerivation "dmxproto" { 63 68 name = "dmxproto-2.3.1"; 64 69 builder = ./builder.sh; 65 70 src = fetchurl { ··· 67 72 sha256 = "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877"; 68 73 }; 69 74 buildInputs = [pkgconfig ]; 70 - })) // {inherit ;}; 75 + }) // {inherit ;}; 71 76 72 - dri2proto = (stdenv.mkDerivation ((if overrides ? dri2proto then overrides.dri2proto else x: x) { 77 + dri2proto = (mkDerivation "dri2proto" { 73 78 name = "dri2proto-2.8"; 74 79 builder = ./builder.sh; 75 80 src = fetchurl { ··· 77 82 sha256 = "015az1vfdqmil1yay5nlsmpf6cf7vcbpslxjb72cfkzlvrv59dgr"; 78 83 }; 79 84 buildInputs = [pkgconfig ]; 80 - })) // {inherit ;}; 85 + }) // {inherit ;}; 81 86 82 - dri3proto = (stdenv.mkDerivation ((if overrides ? dri3proto then overrides.dri3proto else x: x) { 87 + dri3proto = (mkDerivation "dri3proto" { 83 88 name = "dri3proto-1.0"; 84 89 builder = ./builder.sh; 85 90 src = fetchurl { ··· 87 92 sha256 = "0x609xvnl8jky5m8jdklw4nymx3irkv32w99dfd8nl800bblkgh1"; 88 93 }; 89 94 buildInputs = [pkgconfig ]; 90 - })) // {inherit ;}; 95 + }) // {inherit ;}; 91 96 92 - encodings = (stdenv.mkDerivation ((if overrides ? encodings then overrides.encodings else x: x) { 97 + encodings = (mkDerivation "encodings" { 93 98 name = "encodings-1.0.4"; 94 99 builder = ./builder.sh; 95 100 src = fetchurl { ··· 97 102 sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf"; 98 103 }; 99 104 buildInputs = [pkgconfig ]; 100 - })) // {inherit ;}; 105 + }) // {inherit ;}; 101 106 102 - fixesproto = (stdenv.mkDerivation ((if overrides ? fixesproto then overrides.fixesproto else x: x) { 107 + fixesproto = (mkDerivation "fixesproto" { 103 108 name = "fixesproto-5.0"; 104 109 builder = ./builder.sh; 105 110 src = fetchurl { ··· 107 112 sha256 = "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs"; 108 113 }; 109 114 buildInputs = [pkgconfig xextproto ]; 110 - })) // {inherit xextproto ;}; 115 + }) // {inherit xextproto ;}; 111 116 112 - fontadobe100dpi = (stdenv.mkDerivation ((if overrides ? fontadobe100dpi then overrides.fontadobe100dpi else x: x) { 117 + fontadobe100dpi = (mkDerivation "fontadobe100dpi" { 113 118 name = "font-adobe-100dpi-1.0.3"; 114 119 builder = ./builder.sh; 115 120 src = fetchurl { ··· 117 122 sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j"; 118 123 }; 119 124 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 120 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 125 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 121 126 122 - fontadobe75dpi = (stdenv.mkDerivation ((if overrides ? fontadobe75dpi then overrides.fontadobe75dpi else x: x) { 127 + fontadobe75dpi = (mkDerivation "fontadobe75dpi" { 123 128 name = "font-adobe-75dpi-1.0.3"; 124 129 builder = ./builder.sh; 125 130 src = fetchurl { ··· 127 132 sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6"; 128 133 }; 129 134 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 130 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 135 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 131 136 132 - fontadobeutopia100dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia100dpi then overrides.fontadobeutopia100dpi else x: x) { 137 + fontadobeutopia100dpi = (mkDerivation "fontadobeutopia100dpi" { 133 138 name = "font-adobe-utopia-100dpi-1.0.4"; 134 139 builder = ./builder.sh; 135 140 src = fetchurl { ··· 137 142 sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi"; 138 143 }; 139 144 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 140 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 145 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 141 146 142 - fontadobeutopia75dpi = (stdenv.mkDerivation ((if overrides ? fontadobeutopia75dpi then overrides.fontadobeutopia75dpi else x: x) { 147 + fontadobeutopia75dpi = (mkDerivation "fontadobeutopia75dpi" { 143 148 name = "font-adobe-utopia-75dpi-1.0.4"; 144 149 builder = ./builder.sh; 145 150 src = fetchurl { ··· 147 152 sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7"; 148 153 }; 149 154 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 150 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 155 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 151 156 152 - fontadobeutopiatype1 = (stdenv.mkDerivation ((if overrides ? fontadobeutopiatype1 then overrides.fontadobeutopiatype1 else x: x) { 157 + fontadobeutopiatype1 = (mkDerivation "fontadobeutopiatype1" { 153 158 name = "font-adobe-utopia-type1-1.0.4"; 154 159 builder = ./builder.sh; 155 160 src = fetchurl { ··· 157 162 sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p"; 158 163 }; 159 164 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 160 - })) // {inherit mkfontdir mkfontscale ;}; 165 + }) // {inherit mkfontdir mkfontscale ;}; 161 166 162 - fontalias = (stdenv.mkDerivation ((if overrides ? fontalias then overrides.fontalias else x: x) { 167 + fontalias = (mkDerivation "fontalias" { 163 168 name = "font-alias-1.0.3"; 164 169 builder = ./builder.sh; 165 170 src = fetchurl { ··· 167 172 sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb"; 168 173 }; 169 174 buildInputs = [pkgconfig ]; 170 - })) // {inherit ;}; 175 + }) // {inherit ;}; 171 176 172 - fontarabicmisc = (stdenv.mkDerivation ((if overrides ? fontarabicmisc then overrides.fontarabicmisc else x: x) { 177 + fontarabicmisc = (mkDerivation "fontarabicmisc" { 173 178 name = "font-arabic-misc-1.0.3"; 174 179 builder = ./builder.sh; 175 180 src = fetchurl { ··· 177 182 sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah"; 178 183 }; 179 184 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 180 - })) // {inherit bdftopcf mkfontdir ;}; 185 + }) // {inherit bdftopcf mkfontdir ;}; 181 186 182 - fontbh100dpi = (stdenv.mkDerivation ((if overrides ? fontbh100dpi then overrides.fontbh100dpi else x: x) { 187 + fontbh100dpi = (mkDerivation "fontbh100dpi" { 183 188 name = "font-bh-100dpi-1.0.3"; 184 189 builder = ./builder.sh; 185 190 src = fetchurl { ··· 187 192 sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13"; 188 193 }; 189 194 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 190 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 195 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 191 196 192 - fontbh75dpi = (stdenv.mkDerivation ((if overrides ? fontbh75dpi then overrides.fontbh75dpi else x: x) { 197 + fontbh75dpi = (mkDerivation "fontbh75dpi" { 193 198 name = "font-bh-75dpi-1.0.3"; 194 199 builder = ./builder.sh; 195 200 src = fetchurl { ··· 197 202 sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il"; 198 203 }; 199 204 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 200 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 205 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 201 206 202 - fontbhlucidatypewriter100dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter100dpi then overrides.fontbhlucidatypewriter100dpi else x: x) { 207 + fontbhlucidatypewriter100dpi = (mkDerivation "fontbhlucidatypewriter100dpi" { 203 208 name = "font-bh-lucidatypewriter-100dpi-1.0.3"; 204 209 builder = ./builder.sh; 205 210 src = fetchurl { ··· 207 212 sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32"; 208 213 }; 209 214 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 210 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 215 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 211 216 212 - fontbhlucidatypewriter75dpi = (stdenv.mkDerivation ((if overrides ? fontbhlucidatypewriter75dpi then overrides.fontbhlucidatypewriter75dpi else x: x) { 217 + fontbhlucidatypewriter75dpi = (mkDerivation "fontbhlucidatypewriter75dpi" { 213 218 name = "font-bh-lucidatypewriter-75dpi-1.0.3"; 214 219 builder = ./builder.sh; 215 220 src = fetchurl { ··· 217 222 sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa"; 218 223 }; 219 224 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 220 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 225 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 221 226 222 - fontbhttf = (stdenv.mkDerivation ((if overrides ? fontbhttf then overrides.fontbhttf else x: x) { 227 + fontbhttf = (mkDerivation "fontbhttf" { 223 228 name = "font-bh-ttf-1.0.3"; 224 229 builder = ./builder.sh; 225 230 src = fetchurl { ··· 227 232 sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv"; 228 233 }; 229 234 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 230 - })) // {inherit mkfontdir mkfontscale ;}; 235 + }) // {inherit mkfontdir mkfontscale ;}; 231 236 232 - fontbhtype1 = (stdenv.mkDerivation ((if overrides ? fontbhtype1 then overrides.fontbhtype1 else x: x) { 237 + fontbhtype1 = (mkDerivation "fontbhtype1" { 233 238 name = "font-bh-type1-1.0.3"; 234 239 builder = ./builder.sh; 235 240 src = fetchurl { ··· 237 242 sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n"; 238 243 }; 239 244 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 240 - })) // {inherit mkfontdir mkfontscale ;}; 245 + }) // {inherit mkfontdir mkfontscale ;}; 241 246 242 - fontbitstream100dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream100dpi then overrides.fontbitstream100dpi else x: x) { 247 + fontbitstream100dpi = (mkDerivation "fontbitstream100dpi" { 243 248 name = "font-bitstream-100dpi-1.0.3"; 244 249 builder = ./builder.sh; 245 250 src = fetchurl { ··· 247 252 sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b"; 248 253 }; 249 254 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 250 - })) // {inherit bdftopcf mkfontdir ;}; 255 + }) // {inherit bdftopcf mkfontdir ;}; 251 256 252 - fontbitstream75dpi = (stdenv.mkDerivation ((if overrides ? fontbitstream75dpi then overrides.fontbitstream75dpi else x: x) { 257 + fontbitstream75dpi = (mkDerivation "fontbitstream75dpi" { 253 258 name = "font-bitstream-75dpi-1.0.3"; 254 259 builder = ./builder.sh; 255 260 src = fetchurl { ··· 257 262 sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs"; 258 263 }; 259 264 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 260 - })) // {inherit bdftopcf mkfontdir ;}; 265 + }) // {inherit bdftopcf mkfontdir ;}; 261 266 262 - fontbitstreamtype1 = (stdenv.mkDerivation ((if overrides ? fontbitstreamtype1 then overrides.fontbitstreamtype1 else x: x) { 267 + fontbitstreamtype1 = (mkDerivation "fontbitstreamtype1" { 263 268 name = "font-bitstream-type1-1.0.3"; 264 269 builder = ./builder.sh; 265 270 src = fetchurl { ··· 267 272 sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6"; 268 273 }; 269 274 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 270 - })) // {inherit mkfontdir mkfontscale ;}; 275 + }) // {inherit mkfontdir mkfontscale ;}; 271 276 272 - fontcronyxcyrillic = (stdenv.mkDerivation ((if overrides ? fontcronyxcyrillic then overrides.fontcronyxcyrillic else x: x) { 277 + fontcronyxcyrillic = (mkDerivation "fontcronyxcyrillic" { 273 278 name = "font-cronyx-cyrillic-1.0.3"; 274 279 builder = ./builder.sh; 275 280 src = fetchurl { ··· 277 282 sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf"; 278 283 }; 279 284 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 280 - })) // {inherit bdftopcf mkfontdir ;}; 285 + }) // {inherit bdftopcf mkfontdir ;}; 281 286 282 - fontcursormisc = (stdenv.mkDerivation ((if overrides ? fontcursormisc then overrides.fontcursormisc else x: x) { 287 + fontcursormisc = (mkDerivation "fontcursormisc" { 283 288 name = "font-cursor-misc-1.0.3"; 284 289 builder = ./builder.sh; 285 290 src = fetchurl { ··· 287 292 sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp"; 288 293 }; 289 294 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 290 - })) // {inherit bdftopcf mkfontdir ;}; 295 + }) // {inherit bdftopcf mkfontdir ;}; 291 296 292 - fontdaewoomisc = (stdenv.mkDerivation ((if overrides ? fontdaewoomisc then overrides.fontdaewoomisc else x: x) { 297 + fontdaewoomisc = (mkDerivation "fontdaewoomisc" { 293 298 name = "font-daewoo-misc-1.0.3"; 294 299 builder = ./builder.sh; 295 300 src = fetchurl { ··· 297 302 sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw"; 298 303 }; 299 304 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 300 - })) // {inherit bdftopcf mkfontdir ;}; 305 + }) // {inherit bdftopcf mkfontdir ;}; 301 306 302 - fontdecmisc = (stdenv.mkDerivation ((if overrides ? fontdecmisc then overrides.fontdecmisc else x: x) { 307 + fontdecmisc = (mkDerivation "fontdecmisc" { 303 308 name = "font-dec-misc-1.0.3"; 304 309 builder = ./builder.sh; 305 310 src = fetchurl { ··· 307 312 sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1"; 308 313 }; 309 314 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 310 - })) // {inherit bdftopcf mkfontdir ;}; 315 + }) // {inherit bdftopcf mkfontdir ;}; 311 316 312 - fontibmtype1 = (stdenv.mkDerivation ((if overrides ? fontibmtype1 then overrides.fontibmtype1 else x: x) { 317 + fontibmtype1 = (mkDerivation "fontibmtype1" { 313 318 name = "font-ibm-type1-1.0.3"; 314 319 builder = ./builder.sh; 315 320 src = fetchurl { ··· 317 322 sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx"; 318 323 }; 319 324 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 320 - })) // {inherit mkfontdir mkfontscale ;}; 325 + }) // {inherit mkfontdir mkfontscale ;}; 321 326 322 - fontisasmisc = (stdenv.mkDerivation ((if overrides ? fontisasmisc then overrides.fontisasmisc else x: x) { 327 + fontisasmisc = (mkDerivation "fontisasmisc" { 323 328 name = "font-isas-misc-1.0.3"; 324 329 builder = ./builder.sh; 325 330 src = fetchurl { ··· 327 332 sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q"; 328 333 }; 329 334 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 330 - })) // {inherit bdftopcf mkfontdir ;}; 335 + }) // {inherit bdftopcf mkfontdir ;}; 331 336 332 - fontjismisc = (stdenv.mkDerivation ((if overrides ? fontjismisc then overrides.fontjismisc else x: x) { 337 + fontjismisc = (mkDerivation "fontjismisc" { 333 338 name = "font-jis-misc-1.0.3"; 334 339 builder = ./builder.sh; 335 340 src = fetchurl { ··· 337 342 sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b"; 338 343 }; 339 344 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 340 - })) // {inherit bdftopcf mkfontdir ;}; 345 + }) // {inherit bdftopcf mkfontdir ;}; 341 346 342 - fontmicromisc = (stdenv.mkDerivation ((if overrides ? fontmicromisc then overrides.fontmicromisc else x: x) { 347 + fontmicromisc = (mkDerivation "fontmicromisc" { 343 348 name = "font-micro-misc-1.0.3"; 344 349 builder = ./builder.sh; 345 350 src = fetchurl { ··· 347 352 sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws"; 348 353 }; 349 354 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 350 - })) // {inherit bdftopcf mkfontdir ;}; 355 + }) // {inherit bdftopcf mkfontdir ;}; 351 356 352 - fontmisccyrillic = (stdenv.mkDerivation ((if overrides ? fontmisccyrillic then overrides.fontmisccyrillic else x: x) { 357 + fontmisccyrillic = (mkDerivation "fontmisccyrillic" { 353 358 name = "font-misc-cyrillic-1.0.3"; 354 359 builder = ./builder.sh; 355 360 src = fetchurl { ··· 357 362 sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4"; 358 363 }; 359 364 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 360 - })) // {inherit bdftopcf mkfontdir ;}; 365 + }) // {inherit bdftopcf mkfontdir ;}; 361 366 362 - fontmiscethiopic = (stdenv.mkDerivation ((if overrides ? fontmiscethiopic then overrides.fontmiscethiopic else x: x) { 367 + fontmiscethiopic = (mkDerivation "fontmiscethiopic" { 363 368 name = "font-misc-ethiopic-1.0.3"; 364 369 builder = ./builder.sh; 365 370 src = fetchurl { ··· 367 372 sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk"; 368 373 }; 369 374 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 370 - })) // {inherit mkfontdir mkfontscale ;}; 375 + }) // {inherit mkfontdir mkfontscale ;}; 371 376 372 - fontmiscmeltho = (stdenv.mkDerivation ((if overrides ? fontmiscmeltho then overrides.fontmiscmeltho else x: x) { 377 + fontmiscmeltho = (mkDerivation "fontmiscmeltho" { 373 378 name = "font-misc-meltho-1.0.3"; 374 379 builder = ./builder.sh; 375 380 src = fetchurl { ··· 377 382 sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p"; 378 383 }; 379 384 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 380 - })) // {inherit mkfontdir mkfontscale ;}; 385 + }) // {inherit mkfontdir mkfontscale ;}; 381 386 382 - fontmiscmisc = (stdenv.mkDerivation ((if overrides ? fontmiscmisc then overrides.fontmiscmisc else x: x) { 387 + fontmiscmisc = (mkDerivation "fontmiscmisc" { 383 388 name = "font-misc-misc-1.1.2"; 384 389 builder = ./builder.sh; 385 390 src = fetchurl { ··· 387 392 sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq"; 388 393 }; 389 394 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 390 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 395 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 391 396 392 - fontmuttmisc = (stdenv.mkDerivation ((if overrides ? fontmuttmisc then overrides.fontmuttmisc else x: x) { 397 + fontmuttmisc = (mkDerivation "fontmuttmisc" { 393 398 name = "font-mutt-misc-1.0.3"; 394 399 builder = ./builder.sh; 395 400 src = fetchurl { ··· 397 402 sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx"; 398 403 }; 399 404 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 400 - })) // {inherit bdftopcf mkfontdir ;}; 405 + }) // {inherit bdftopcf mkfontdir ;}; 401 406 402 - fontschumachermisc = (stdenv.mkDerivation ((if overrides ? fontschumachermisc then overrides.fontschumachermisc else x: x) { 407 + fontschumachermisc = (mkDerivation "fontschumachermisc" { 403 408 name = "font-schumacher-misc-1.1.2"; 404 409 builder = ./builder.sh; 405 410 src = fetchurl { ··· 407 412 sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74"; 408 413 }; 409 414 buildInputs = [pkgconfig bdftopcf fontutil mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 410 - })) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 415 + }) // {inherit bdftopcf fontutil mkfontdir mkfontscale ;}; 411 416 412 - fontscreencyrillic = (stdenv.mkDerivation ((if overrides ? fontscreencyrillic then overrides.fontscreencyrillic else x: x) { 417 + fontscreencyrillic = (mkDerivation "fontscreencyrillic" { 413 418 name = "font-screen-cyrillic-1.0.4"; 414 419 builder = ./builder.sh; 415 420 src = fetchurl { ··· 417 422 sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2"; 418 423 }; 419 424 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 420 - })) // {inherit bdftopcf mkfontdir ;}; 425 + }) // {inherit bdftopcf mkfontdir ;}; 421 426 422 - fontsonymisc = (stdenv.mkDerivation ((if overrides ? fontsonymisc then overrides.fontsonymisc else x: x) { 427 + fontsonymisc = (mkDerivation "fontsonymisc" { 423 428 name = "font-sony-misc-1.0.3"; 424 429 builder = ./builder.sh; 425 430 src = fetchurl { ··· 427 432 sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0"; 428 433 }; 429 434 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 430 - })) // {inherit bdftopcf mkfontdir ;}; 435 + }) // {inherit bdftopcf mkfontdir ;}; 431 436 432 - fontsproto = (stdenv.mkDerivation ((if overrides ? fontsproto then overrides.fontsproto else x: x) { 437 + fontsproto = (mkDerivation "fontsproto" { 433 438 name = "fontsproto-2.1.2"; 434 439 builder = ./builder.sh; 435 440 src = fetchurl { ··· 437 442 sha256 = "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746"; 438 443 }; 439 444 buildInputs = [pkgconfig ]; 440 - })) // {inherit ;}; 445 + }) // {inherit ;}; 441 446 442 - fontsunmisc = (stdenv.mkDerivation ((if overrides ? fontsunmisc then overrides.fontsunmisc else x: x) { 447 + fontsunmisc = (mkDerivation "fontsunmisc" { 443 448 name = "font-sun-misc-1.0.3"; 444 449 builder = ./builder.sh; 445 450 src = fetchurl { ··· 447 452 sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8"; 448 453 }; 449 454 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 450 - })) // {inherit bdftopcf mkfontdir ;}; 455 + }) // {inherit bdftopcf mkfontdir ;}; 451 456 452 - fontutil = (stdenv.mkDerivation ((if overrides ? fontutil then overrides.fontutil else x: x) { 457 + fontutil = (mkDerivation "fontutil" { 453 458 name = "font-util-1.3.0"; 454 459 builder = ./builder.sh; 455 460 src = fetchurl { ··· 457 462 sha256 = "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz"; 458 463 }; 459 464 buildInputs = [pkgconfig ]; 460 - })) // {inherit ;}; 465 + }) // {inherit ;}; 461 466 462 - fontwinitzkicyrillic = (stdenv.mkDerivation ((if overrides ? fontwinitzkicyrillic then overrides.fontwinitzkicyrillic else x: x) { 467 + fontwinitzkicyrillic = (mkDerivation "fontwinitzkicyrillic" { 463 468 name = "font-winitzki-cyrillic-1.0.3"; 464 469 builder = ./builder.sh; 465 470 src = fetchurl { ··· 467 472 sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb"; 468 473 }; 469 474 buildInputs = [pkgconfig bdftopcf mkfontdir ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 470 - })) // {inherit bdftopcf mkfontdir ;}; 475 + }) // {inherit bdftopcf mkfontdir ;}; 471 476 472 - fontxfree86type1 = (stdenv.mkDerivation ((if overrides ? fontxfree86type1 then overrides.fontxfree86type1 else x: x) { 477 + fontxfree86type1 = (mkDerivation "fontxfree86type1" { 473 478 name = "font-xfree86-type1-1.0.4"; 474 479 builder = ./builder.sh; 475 480 src = fetchurl { ··· 477 482 sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya"; 478 483 }; 479 484 buildInputs = [pkgconfig mkfontdir mkfontscale ]; configureFlags = "--with-fontrootdir=$(out)/lib/X11/fonts"; 480 - })) // {inherit mkfontdir mkfontscale ;}; 485 + }) // {inherit mkfontdir mkfontscale ;}; 481 486 482 - gccmakedep = (stdenv.mkDerivation ((if overrides ? gccmakedep then overrides.gccmakedep else x: x) { 487 + gccmakedep = (mkDerivation "gccmakedep" { 483 488 name = "gccmakedep-1.0.3"; 484 489 builder = ./builder.sh; 485 490 src = fetchurl { ··· 487 492 sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj"; 488 493 }; 489 494 buildInputs = [pkgconfig ]; 490 - })) // {inherit ;}; 495 + }) // {inherit ;}; 491 496 492 - glamoregl = (stdenv.mkDerivation ((if overrides ? glamoregl then overrides.glamoregl else x: x) { 497 + glamoregl = (mkDerivation "glamoregl" { 493 498 name = "glamor-egl-0.6.0"; 494 499 builder = ./builder.sh; 495 500 src = fetchurl { ··· 497 502 sha256 = "1jg5clihklb9drh1jd7nhhdsszla6nv7xmbvm8yvakh5wrb1nlv6"; 498 503 }; 499 504 buildInputs = [pkgconfig dri2proto xorgserver ]; 500 - })) // {inherit dri2proto xorgserver ;}; 505 + }) // {inherit dri2proto xorgserver ;}; 501 506 502 - glproto = (stdenv.mkDerivation ((if overrides ? glproto then overrides.glproto else x: x) { 507 + glproto = (mkDerivation "glproto" { 503 508 name = "glproto-1.4.17"; 504 509 builder = ./builder.sh; 505 510 src = fetchurl { ··· 507 512 sha256 = "0h5ykmcddwid5qj6sbrszgkcypwn3mslvswxpgy2n2iixnyr9amd"; 508 513 }; 509 514 buildInputs = [pkgconfig ]; 510 - })) // {inherit ;}; 515 + }) // {inherit ;}; 511 516 512 - iceauth = (stdenv.mkDerivation ((if overrides ? iceauth then overrides.iceauth else x: x) { 517 + iceauth = (mkDerivation "iceauth" { 513 518 name = "iceauth-1.0.6"; 514 519 builder = ./builder.sh; 515 520 src = fetchurl { ··· 517 522 sha256 = "1x72y99dxf2fxnlyf0yrf9yzd8xzimxshy6l8mprwhrv6lvhi6dx"; 518 523 }; 519 524 buildInputs = [pkgconfig libICE xproto ]; 520 - })) // {inherit libICE xproto ;}; 525 + }) // {inherit libICE xproto ;}; 521 526 522 - imake = (stdenv.mkDerivation ((if overrides ? imake then overrides.imake else x: x) { 527 + imake = (mkDerivation "imake" { 523 528 name = "imake-1.0.7"; 524 529 builder = ./builder.sh; 525 530 src = fetchurl { ··· 527 532 sha256 = "0zpk8p044jh14bis838shbf4100bjg7mccd7bq54glpsq552q339"; 528 533 }; 529 534 buildInputs = [pkgconfig xproto ]; 530 - })) // {inherit xproto ;}; 535 + }) // {inherit xproto ;}; 531 536 532 - inputproto = (stdenv.mkDerivation ((if overrides ? inputproto then overrides.inputproto else x: x) { 537 + inputproto = (mkDerivation "inputproto" { 533 538 name = "inputproto-2.3.1"; 534 539 builder = ./builder.sh; 535 540 src = fetchurl { ··· 537 542 sha256 = "1lf1jlxp0fc8h6fjdffhd084dqab94966l1zm3rwwsis0mifwiss"; 538 543 }; 539 544 buildInputs = [pkgconfig ]; 540 - })) // {inherit ;}; 545 + }) // {inherit ;}; 541 546 542 - kbproto = (stdenv.mkDerivation ((if overrides ? kbproto then overrides.kbproto else x: x) { 547 + kbproto = (mkDerivation "kbproto" { 543 548 name = "kbproto-1.0.6"; 544 549 builder = ./builder.sh; 545 550 src = fetchurl { ··· 547 552 sha256 = "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03"; 548 553 }; 549 554 buildInputs = [pkgconfig ]; 550 - })) // {inherit ;}; 555 + }) // {inherit ;}; 551 556 552 - libAppleWM = (stdenv.mkDerivation ((if overrides ? libAppleWM then overrides.libAppleWM else x: x) { 557 + libAppleWM = (mkDerivation "libAppleWM" { 553 558 name = "libAppleWM-1.4.1"; 554 559 builder = ./builder.sh; 555 560 src = fetchurl { ··· 557 562 sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y"; 558 563 }; 559 564 buildInputs = [pkgconfig applewmproto libX11 libXext xextproto ]; 560 - })) // {inherit applewmproto libX11 libXext xextproto ;}; 565 + }) // {inherit applewmproto libX11 libXext xextproto ;}; 561 566 562 - libFS = (stdenv.mkDerivation ((if overrides ? libFS then overrides.libFS else x: x) { 567 + libFS = (mkDerivation "libFS" { 563 568 name = "libFS-1.0.6"; 564 569 builder = ./builder.sh; 565 570 src = fetchurl { ··· 567 572 sha256 = "1mxfsvj9m3pn8cdkcn4kg190zp665mf4pv0083g6xykvsgxzq1wh"; 568 573 }; 569 574 buildInputs = [pkgconfig fontsproto xproto xtrans ]; 570 - })) // {inherit fontsproto xproto xtrans ;}; 575 + }) // {inherit fontsproto xproto xtrans ;}; 571 576 572 - libICE = (stdenv.mkDerivation ((if overrides ? libICE then overrides.libICE else x: x) { 577 + libICE = (mkDerivation "libICE" { 573 578 name = "libICE-1.0.9"; 574 579 builder = ./builder.sh; 575 580 src = fetchurl { ··· 577 582 sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g"; 578 583 }; 579 584 buildInputs = [pkgconfig xproto xtrans ]; 580 - })) // {inherit xproto xtrans ;}; 585 + }) // {inherit xproto xtrans ;}; 581 586 582 - libSM = (stdenv.mkDerivation ((if overrides ? libSM then overrides.libSM else x: x) { 587 + libSM = (mkDerivation "libSM" { 583 588 name = "libSM-1.2.2"; 584 589 builder = ./builder.sh; 585 590 src = fetchurl { ··· 587 592 sha256 = "1gc7wavgs435g9qkp9jw4lhmaiq6ip9llv49f054ad6ryp4sib0b"; 588 593 }; 589 594 buildInputs = [pkgconfig libICE libuuid xproto xtrans ]; 590 - })) // {inherit libICE libuuid xproto xtrans ;}; 595 + }) // {inherit libICE libuuid xproto xtrans ;}; 591 596 592 - libWindowsWM = (stdenv.mkDerivation ((if overrides ? libWindowsWM then overrides.libWindowsWM else x: x) { 597 + libWindowsWM = (mkDerivation "libWindowsWM" { 593 598 name = "libWindowsWM-1.0.1"; 594 599 builder = ./builder.sh; 595 600 src = fetchurl { ··· 597 602 sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15"; 598 603 }; 599 604 buildInputs = [pkgconfig windowswmproto libX11 libXext xextproto ]; 600 - })) // {inherit windowswmproto libX11 libXext xextproto ;}; 605 + }) // {inherit windowswmproto libX11 libXext xextproto ;}; 601 606 602 - libX11 = (stdenv.mkDerivation ((if overrides ? libX11 then overrides.libX11 else x: x) { 607 + libX11 = (mkDerivation "libX11" { 603 608 name = "libX11-1.6.2"; 604 609 builder = ./builder.sh; 605 610 src = fetchurl { ··· 607 612 sha256 = "05mx0s0vqzds3qjc1gmjr2s6x2ll37z4lfhgm7p2w7936zl2g81a"; 608 613 }; 609 614 buildInputs = [pkgconfig inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ]; 610 - })) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; 615 + }) // {inherit inputproto kbproto libxcb xextproto xf86bigfontproto xproto xtrans ;}; 611 616 612 - libXScrnSaver = (stdenv.mkDerivation ((if overrides ? libXScrnSaver then overrides.libXScrnSaver else x: x) { 617 + libXScrnSaver = (mkDerivation "libXScrnSaver" { 613 618 name = "libXScrnSaver-1.2.2"; 614 619 builder = ./builder.sh; 615 620 src = fetchurl { ··· 617 622 sha256 = "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg"; 618 623 }; 619 624 buildInputs = [pkgconfig scrnsaverproto libX11 libXext xextproto ]; 620 - })) // {inherit scrnsaverproto libX11 libXext xextproto ;}; 625 + }) // {inherit scrnsaverproto libX11 libXext xextproto ;}; 621 626 622 - libXau = (stdenv.mkDerivation ((if overrides ? libXau then overrides.libXau else x: x) { 627 + libXau = (mkDerivation "libXau" { 623 628 name = "libXau-1.0.8"; 624 629 builder = ./builder.sh; 625 630 src = fetchurl { ··· 627 632 sha256 = "1wm4pv12f36cwzhldpp7vy3lhm3xdcnp4f184xkxsp7b18r7gm7x"; 628 633 }; 629 634 buildInputs = [pkgconfig xproto ]; 630 - })) // {inherit xproto ;}; 635 + }) // {inherit xproto ;}; 631 636 632 - libXaw = (stdenv.mkDerivation ((if overrides ? libXaw then overrides.libXaw else x: x) { 637 + libXaw = (mkDerivation "libXaw" { 633 638 name = "libXaw-1.0.12"; 634 639 builder = ./builder.sh; 635 640 src = fetchurl { ··· 637 642 sha256 = "1xnv7jy86j9vhmw74frkzcraynqbw1p1s79jasargsgwfi433z4n"; 638 643 }; 639 644 buildInputs = [pkgconfig libX11 libXext xextproto libXmu libXpm xproto libXt ]; 640 - })) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; 645 + }) // {inherit libX11 libXext xextproto libXmu libXpm xproto libXt ;}; 641 646 642 - libXcomposite = (stdenv.mkDerivation ((if overrides ? libXcomposite then overrides.libXcomposite else x: x) { 647 + libXcomposite = (mkDerivation "libXcomposite" { 643 648 name = "libXcomposite-0.4.4"; 644 649 builder = ./builder.sh; 645 650 src = fetchurl { ··· 647 652 sha256 = "0y21nfpa5s8qmx0srdlilyndas3sgl0c6rc26d5fx2vx436m1qpd"; 648 653 }; 649 654 buildInputs = [pkgconfig compositeproto libX11 libXfixes xproto ]; 650 - })) // {inherit compositeproto libX11 libXfixes xproto ;}; 655 + }) // {inherit compositeproto libX11 libXfixes xproto ;}; 651 656 652 - libXcursor = (stdenv.mkDerivation ((if overrides ? libXcursor then overrides.libXcursor else x: x) { 657 + libXcursor = (mkDerivation "libXcursor" { 653 658 name = "libXcursor-1.1.14"; 654 659 builder = ./builder.sh; 655 660 src = fetchurl { ··· 657 662 sha256 = "1prkdicl5y5yx32h1azh6gjfbijvjp415javv8dsakd13jrarilv"; 658 663 }; 659 664 buildInputs = [pkgconfig fixesproto libX11 libXfixes xproto libXrender ]; 660 - })) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; 665 + }) // {inherit fixesproto libX11 libXfixes xproto libXrender ;}; 661 666 662 - libXdamage = (stdenv.mkDerivation ((if overrides ? libXdamage then overrides.libXdamage else x: x) { 667 + libXdamage = (mkDerivation "libXdamage" { 663 668 name = "libXdamage-1.1.4"; 664 669 builder = ./builder.sh; 665 670 src = fetchurl { ··· 667 672 sha256 = "1bamagq7g6s0d23l8rb3nppj8ifqj05f7z9bhbs4fdg8az3ffgvw"; 668 673 }; 669 674 buildInputs = [pkgconfig damageproto fixesproto libX11 xextproto libXfixes xproto ]; 670 - })) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; 675 + }) // {inherit damageproto fixesproto libX11 xextproto libXfixes xproto ;}; 671 676 672 - libXdmcp = (stdenv.mkDerivation ((if overrides ? libXdmcp then overrides.libXdmcp else x: x) { 677 + libXdmcp = (mkDerivation "libXdmcp" { 673 678 name = "libXdmcp-1.1.1"; 674 679 builder = ./builder.sh; 675 680 src = fetchurl { ··· 677 682 sha256 = "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls"; 678 683 }; 679 684 buildInputs = [pkgconfig xproto ]; 680 - })) // {inherit xproto ;}; 685 + }) // {inherit xproto ;}; 681 686 682 - libXext = (stdenv.mkDerivation ((if overrides ? libXext then overrides.libXext else x: x) { 687 + libXext = (mkDerivation "libXext" { 683 688 name = "libXext-1.3.3"; 684 689 builder = ./builder.sh; 685 690 src = fetchurl { ··· 687 692 sha256 = "0dbfn5bznnrhqzvkrcmw4c44yvvpwdcsrvzxf4rk27r36b9x865m"; 688 693 }; 689 694 buildInputs = [pkgconfig libX11 xextproto xproto ]; 690 - })) // {inherit libX11 xextproto xproto ;}; 695 + }) // {inherit libX11 xextproto xproto ;}; 691 696 692 - libXfixes = (stdenv.mkDerivation ((if overrides ? libXfixes then overrides.libXfixes else x: x) { 697 + libXfixes = (mkDerivation "libXfixes" { 693 698 name = "libXfixes-5.0.1"; 694 699 builder = ./builder.sh; 695 700 src = fetchurl { ··· 697 702 sha256 = "0rs7qgzr6dpr62db7sd91c1b47hzhzfr010qwnpcm8sg122w1gk3"; 698 703 }; 699 704 buildInputs = [pkgconfig fixesproto libX11 xextproto xproto ]; 700 - })) // {inherit fixesproto libX11 xextproto xproto ;}; 705 + }) // {inherit fixesproto libX11 xextproto xproto ;}; 701 706 702 - libXfont = (stdenv.mkDerivation ((if overrides ? libXfont then overrides.libXfont else x: x) { 707 + libXfont = (mkDerivation "libXfont" { 703 708 name = "libXfont-1.4.8"; 704 709 builder = ./builder.sh; 705 710 src = fetchurl { ··· 707 712 sha256 = "01fh2hnnaby8x6mv57x78nsqwhls70gwykldzd8b43vrpzzd8s2m"; 708 713 }; 709 714 buildInputs = [pkgconfig libfontenc fontsproto freetype xproto xtrans zlib ]; 710 - })) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; 715 + }) // {inherit libfontenc fontsproto freetype xproto xtrans zlib ;}; 711 716 712 - libXft = (stdenv.mkDerivation ((if overrides ? libXft then overrides.libXft else x: x) { 717 + libXft = (mkDerivation "libXft" { 713 718 name = "libXft-2.3.2"; 714 719 builder = ./builder.sh; 715 720 src = fetchurl { ··· 717 722 sha256 = "0k6wzi5rzs0d0n338ms8n8lfyhq914hw4yl2j7553wqxfqjci8zm"; 718 723 }; 719 724 buildInputs = [pkgconfig fontconfig freetype libX11 xproto libXrender ]; 720 - })) // {inherit fontconfig freetype libX11 xproto libXrender ;}; 725 + }) // {inherit fontconfig freetype libX11 xproto libXrender ;}; 721 726 722 - libXi = (stdenv.mkDerivation ((if overrides ? libXi then overrides.libXi else x: x) { 727 + libXi = (mkDerivation "libXi" { 723 728 name = "libXi-1.7.4"; 724 729 builder = ./builder.sh; 725 730 src = fetchurl { ··· 727 732 sha256 = "0i12lj973grlp9fa79v0vh9cahk3nf9csdjnf81iip0qcrlc5zrc"; 728 733 }; 729 734 buildInputs = [pkgconfig inputproto libX11 libXext xextproto libXfixes xproto ]; 730 - })) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;}; 735 + }) // {inherit inputproto libX11 libXext xextproto libXfixes xproto ;}; 731 736 732 - libXinerama = (stdenv.mkDerivation ((if overrides ? libXinerama then overrides.libXinerama else x: x) { 737 + libXinerama = (mkDerivation "libXinerama" { 733 738 name = "libXinerama-1.1.3"; 734 739 builder = ./builder.sh; 735 740 src = fetchurl { ··· 737 742 sha256 = "1qlqfvzw45gdzk9xirgwlp2qgj0hbsyiqj8yh8zml2bk2ygnjibs"; 738 743 }; 739 744 buildInputs = [pkgconfig libX11 libXext xextproto xineramaproto ]; 740 - })) // {inherit libX11 libXext xextproto xineramaproto ;}; 745 + }) // {inherit libX11 libXext xextproto xineramaproto ;}; 741 746 742 - libXmu = (stdenv.mkDerivation ((if overrides ? libXmu then overrides.libXmu else x: x) { 747 + libXmu = (mkDerivation "libXmu" { 743 748 name = "libXmu-1.1.2"; 744 749 builder = ./builder.sh; 745 750 src = fetchurl { ··· 747 752 sha256 = "02wx6jw7i0q5qwx87yf94fsn3h0xpz1k7dz1nkwfwm1j71ydqvkm"; 748 753 }; 749 754 buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; 750 - })) // {inherit libX11 libXext xextproto xproto libXt ;}; 755 + }) // {inherit libX11 libXext xextproto xproto libXt ;}; 751 756 752 - libXp = (stdenv.mkDerivation ((if overrides ? libXp then overrides.libXp else x: x) { 757 + libXp = (mkDerivation "libXp" { 753 758 name = "libXp-1.0.2"; 754 759 builder = ./builder.sh; 755 760 src = fetchurl { ··· 757 762 sha256 = "1dfh5w8sjz5b5fl6dl4y63ckq99snslz7bir8zq2rg8ax6syabwm"; 758 763 }; 759 764 buildInputs = [pkgconfig printproto libX11 libXau libXext xextproto ]; 760 - })) // {inherit printproto libX11 libXau libXext xextproto ;}; 765 + }) // {inherit printproto libX11 libXau libXext xextproto ;}; 761 766 762 - libXpm = (stdenv.mkDerivation ((if overrides ? libXpm then overrides.libXpm else x: x) { 767 + libXpm = (mkDerivation "libXpm" { 763 768 name = "libXpm-3.5.11"; 764 769 builder = ./builder.sh; 765 770 src = fetchurl { ··· 767 772 sha256 = "07041q4k8m4nirzl7lrqn8by2zylx0xvh6n0za301qqs3njszgf5"; 768 773 }; 769 774 buildInputs = [pkgconfig libX11 libXext xextproto xproto libXt ]; 770 - })) // {inherit libX11 libXext xextproto xproto libXt ;}; 775 + }) // {inherit libX11 libXext xextproto xproto libXt ;}; 771 776 772 - libXrandr = (stdenv.mkDerivation ((if overrides ? libXrandr then overrides.libXrandr else x: x) { 777 + libXrandr = (mkDerivation "libXrandr" { 773 778 name = "libXrandr-1.4.2"; 774 779 builder = ./builder.sh; 775 780 src = fetchurl { ··· 777 782 sha256 = "1b95p3l84ppv6j7dbbmg0zrz6k8xdwvnag1l6ajm3gk9qwdb79ya"; 778 783 }; 779 784 buildInputs = [pkgconfig randrproto renderproto libX11 libXext xextproto xproto libXrender ]; 780 - })) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; 785 + }) // {inherit randrproto renderproto libX11 libXext xextproto xproto libXrender ;}; 781 786 782 - libXrender = (stdenv.mkDerivation ((if overrides ? libXrender then overrides.libXrender else x: x) { 787 + libXrender = (mkDerivation "libXrender" { 783 788 name = "libXrender-0.9.8"; 784 789 builder = ./builder.sh; 785 790 src = fetchurl { ··· 787 792 sha256 = "0qpwyjhbpp734vnhca992pjh4w7ijslidkzx1pcwbbk000pv050x"; 788 793 }; 789 794 buildInputs = [pkgconfig renderproto libX11 xproto ]; 790 - })) // {inherit renderproto libX11 xproto ;}; 795 + }) // {inherit renderproto libX11 xproto ;}; 791 796 792 - libXres = (stdenv.mkDerivation ((if overrides ? libXres then overrides.libXres else x: x) { 797 + libXres = (mkDerivation "libXres" { 793 798 name = "libXres-1.0.7"; 794 799 builder = ./builder.sh; 795 800 src = fetchurl { ··· 797 802 sha256 = "1rd0bzn67cpb2qkc946gch2183r4bdjfhs6cpqbipy47m9a91296"; 798 803 }; 799 804 buildInputs = [pkgconfig resourceproto libX11 libXext xextproto xproto ]; 800 - })) // {inherit resourceproto libX11 libXext xextproto xproto ;}; 805 + }) // {inherit resourceproto libX11 libXext xextproto xproto ;}; 801 806 802 - libXt = (stdenv.mkDerivation ((if overrides ? libXt then overrides.libXt else x: x) { 807 + libXt = (mkDerivation "libXt" { 803 808 name = "libXt-1.1.4"; 804 809 builder = ./builder.sh; 805 810 src = fetchurl { ··· 807 812 sha256 = "0myxwbx9ylam5x3ia5b5f4x8azcqdm420h9ad1r4hrgmi2lrffl4"; 808 813 }; 809 814 buildInputs = [pkgconfig libICE kbproto libSM libX11 xproto ]; 810 - })) // {inherit libICE kbproto libSM libX11 xproto ;}; 815 + }) // {inherit libICE kbproto libSM libX11 xproto ;}; 811 816 812 - libXtst = (stdenv.mkDerivation ((if overrides ? libXtst then overrides.libXtst else x: x) { 817 + libXtst = (mkDerivation "libXtst" { 813 818 name = "libXtst-1.2.2"; 814 819 builder = ./builder.sh; 815 820 src = fetchurl { ··· 817 822 sha256 = "1ngn161nq679ffmbwl81i2hn75jjg5b3ffv6n4jilpvyazypy2pg"; 818 823 }; 819 824 buildInputs = [pkgconfig inputproto recordproto libX11 libXext xextproto libXi ]; 820 - })) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; 825 + }) // {inherit inputproto recordproto libX11 libXext xextproto libXi ;}; 821 826 822 - libXv = (stdenv.mkDerivation ((if overrides ? libXv then overrides.libXv else x: x) { 827 + libXv = (mkDerivation "libXv" { 823 828 name = "libXv-1.0.10"; 824 829 builder = ./builder.sh; 825 830 src = fetchurl { ··· 827 832 sha256 = "09a5j6bisysiipd0nw6s352565bp0n6gbyhv5hp63s3cd3w95zjm"; 828 833 }; 829 834 buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto ]; 830 - })) // {inherit videoproto libX11 libXext xextproto xproto ;}; 835 + }) // {inherit videoproto libX11 libXext xextproto xproto ;}; 831 836 832 - libXvMC = (stdenv.mkDerivation ((if overrides ? libXvMC then overrides.libXvMC else x: x) { 837 + libXvMC = (mkDerivation "libXvMC" { 833 838 name = "libXvMC-1.0.8"; 834 839 builder = ./builder.sh; 835 840 src = fetchurl { ··· 837 842 sha256 = "015jk3bxfmj6zaw99x282f9npi8qqaw34yg186frags3z8g406jy"; 838 843 }; 839 844 buildInputs = [pkgconfig videoproto libX11 libXext xextproto xproto libXv ]; 840 - })) // {inherit videoproto libX11 libXext xextproto xproto libXv ;}; 845 + }) // {inherit videoproto libX11 libXext xextproto xproto libXv ;}; 841 846 842 - libXxf86dga = (stdenv.mkDerivation ((if overrides ? libXxf86dga then overrides.libXxf86dga else x: x) { 847 + libXxf86dga = (mkDerivation "libXxf86dga" { 843 848 name = "libXxf86dga-1.1.4"; 844 849 builder = ./builder.sh; 845 850 src = fetchurl { ··· 847 852 sha256 = "0zn7aqj8x0951d8zb2h2andldvwkzbsc4cs7q023g6nzq6vd9v4f"; 848 853 }; 849 854 buildInputs = [pkgconfig libX11 libXext xextproto xf86dgaproto xproto ]; 850 - })) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;}; 855 + }) // {inherit libX11 libXext xextproto xf86dgaproto xproto ;}; 851 856 852 - libXxf86misc = (stdenv.mkDerivation ((if overrides ? libXxf86misc then overrides.libXxf86misc else x: x) { 857 + libXxf86misc = (mkDerivation "libXxf86misc" { 853 858 name = "libXxf86misc-1.0.3"; 854 859 builder = ./builder.sh; 855 860 src = fetchurl { ··· 857 862 sha256 = "0nvbq9y6k6m9hxdvg3crycqsnnxf1859wrisqcs37z9fhq044gsn"; 858 863 }; 859 864 buildInputs = [pkgconfig libX11 libXext xextproto xf86miscproto xproto ]; 860 - })) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; 865 + }) // {inherit libX11 libXext xextproto xf86miscproto xproto ;}; 861 866 862 - libXxf86vm = (stdenv.mkDerivation ((if overrides ? libXxf86vm then overrides.libXxf86vm else x: x) { 867 + libXxf86vm = (mkDerivation "libXxf86vm" { 863 868 name = "libXxf86vm-1.1.3"; 864 869 builder = ./builder.sh; 865 870 src = fetchurl { ··· 867 872 sha256 = "1f1pxj018nk7ybxv58jmn5y8gm2288p4q3l2dng9n1p25v1qcpns"; 868 873 }; 869 874 buildInputs = [pkgconfig libX11 libXext xextproto xf86vidmodeproto xproto ]; 870 - })) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; 875 + }) // {inherit libX11 libXext xextproto xf86vidmodeproto xproto ;}; 871 876 872 - libdmx = (stdenv.mkDerivation ((if overrides ? libdmx then overrides.libdmx else x: x) { 877 + libdmx = (mkDerivation "libdmx" { 873 878 name = "libdmx-1.1.3"; 874 879 builder = ./builder.sh; 875 880 src = fetchurl { ··· 877 882 sha256 = "00djlxas38kbsrglcmwmxfbmxjdchlbj95pqwjvdg8jn5rns6zf9"; 878 883 }; 879 884 buildInputs = [pkgconfig dmxproto libX11 libXext xextproto ]; 880 - })) // {inherit dmxproto libX11 libXext xextproto ;}; 885 + }) // {inherit dmxproto libX11 libXext xextproto ;}; 881 886 882 - libfontenc = (stdenv.mkDerivation ((if overrides ? libfontenc then overrides.libfontenc else x: x) { 887 + libfontenc = (mkDerivation "libfontenc" { 883 888 name = "libfontenc-1.1.2"; 884 889 builder = ./builder.sh; 885 890 src = fetchurl { ··· 887 892 sha256 = "0qign0ivqk166l9yfd51gw9lbhgs718bcrmvc40yicjr6gnyz959"; 888 893 }; 889 894 buildInputs = [pkgconfig xproto zlib ]; 890 - })) // {inherit xproto zlib ;}; 895 + }) // {inherit xproto zlib ;}; 891 896 892 - libpciaccess = (stdenv.mkDerivation ((if overrides ? libpciaccess then overrides.libpciaccess else x: x) { 897 + libpciaccess = (mkDerivation "libpciaccess" { 893 898 name = "libpciaccess-0.13.2"; 894 899 builder = ./builder.sh; 895 900 src = fetchurl { ··· 897 902 sha256 = "06fy43n3c450h7xqpn3094bnfn7ca1mrq3i856y8kyqa0lmqraxb"; 898 903 }; 899 904 buildInputs = [pkgconfig zlib ]; 900 - })) // {inherit zlib ;}; 905 + }) // {inherit zlib ;}; 901 906 902 - libpthreadstubs = (stdenv.mkDerivation ((if overrides ? libpthreadstubs then overrides.libpthreadstubs else x: x) { 907 + libpthreadstubs = (mkDerivation "libpthreadstubs" { 903 908 name = "libpthread-stubs-0.3"; 904 909 builder = ./builder.sh; 905 910 src = fetchurl { ··· 907 912 sha256 = "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim"; 908 913 }; 909 914 buildInputs = [pkgconfig ]; 910 - })) // {inherit ;}; 915 + }) // {inherit ;}; 911 916 912 - libxcb = (stdenv.mkDerivation ((if overrides ? libxcb then overrides.libxcb else x: x) { 917 + libxcb = (mkDerivation "libxcb" { 913 918 name = "libxcb-1.10"; 914 919 builder = ./builder.sh; 915 920 src = fetchurl { ··· 917 922 sha256 = "1dfmyb1zjx6n0zhr4y40mc1crlmj3bfjjhmn0f30ip9nnq2spncq"; 918 923 }; 919 924 buildInputs = [pkgconfig libxslt libpthreadstubs python libXau xcbproto libXdmcp ]; 920 - })) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; 925 + }) // {inherit libxslt libpthreadstubs python libXau xcbproto libXdmcp ;}; 921 926 922 - libxkbfile = (stdenv.mkDerivation ((if overrides ? libxkbfile then overrides.libxkbfile else x: x) { 927 + libxkbfile = (mkDerivation "libxkbfile" { 923 928 name = "libxkbfile-1.0.8"; 924 929 builder = ./builder.sh; 925 930 src = fetchurl { ··· 927 932 sha256 = "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca"; 928 933 }; 929 934 buildInputs = [pkgconfig kbproto libX11 ]; 930 - })) // {inherit kbproto libX11 ;}; 935 + }) // {inherit kbproto libX11 ;}; 931 936 932 - libxshmfence = (stdenv.mkDerivation ((if overrides ? libxshmfence then overrides.libxshmfence else x: x) { 937 + libxshmfence = (mkDerivation "libxshmfence" { 933 938 name = "libxshmfence-1.1"; 934 939 builder = ./builder.sh; 935 940 src = fetchurl { ··· 937 942 sha256 = "1gnfb1z8sbbdc3xpz1zmm94lv7yvfh4kvip9s5pj37ya4llxphnv"; 938 943 }; 939 944 buildInputs = [pkgconfig xproto ]; 940 - })) // {inherit xproto ;}; 945 + }) // {inherit xproto ;}; 941 946 942 - lndir = (stdenv.mkDerivation ((if overrides ? lndir then overrides.lndir else x: x) { 947 + lndir = (mkDerivation "lndir" { 943 948 name = "lndir-1.0.3"; 944 949 builder = ./builder.sh; 945 950 src = fetchurl { ··· 947 952 sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"; 948 953 }; 949 954 buildInputs = [pkgconfig xproto ]; 950 - })) // {inherit xproto ;}; 955 + }) // {inherit xproto ;}; 951 956 952 - luit = (stdenv.mkDerivation ((if overrides ? luit then overrides.luit else x: x) { 957 + luit = (mkDerivation "luit" { 953 958 name = "luit-1.1.1"; 954 959 builder = ./builder.sh; 955 960 src = fetchurl { ··· 957 962 sha256 = "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h"; 958 963 }; 959 964 buildInputs = [pkgconfig libfontenc ]; 960 - })) // {inherit libfontenc ;}; 965 + }) // {inherit libfontenc ;}; 961 966 962 - makedepend = (stdenv.mkDerivation ((if overrides ? makedepend then overrides.makedepend else x: x) { 967 + makedepend = (mkDerivation "makedepend" { 963 968 name = "makedepend-1.0.5"; 964 969 builder = ./builder.sh; 965 970 src = fetchurl { ··· 967 972 sha256 = "09alw99r6y2bbd1dc786n3jfgv4j520apblyn7cw6jkjydshba7p"; 968 973 }; 969 974 buildInputs = [pkgconfig xproto ]; 970 - })) // {inherit xproto ;}; 975 + }) // {inherit xproto ;}; 971 976 972 - mkfontdir = (stdenv.mkDerivation ((if overrides ? mkfontdir then overrides.mkfontdir else x: x) { 977 + mkfontdir = (mkDerivation "mkfontdir" { 973 978 name = "mkfontdir-1.0.7"; 974 979 builder = ./builder.sh; 975 980 src = fetchurl { ··· 977 982 sha256 = "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman"; 978 983 }; 979 984 buildInputs = [pkgconfig ]; 980 - })) // {inherit ;}; 985 + }) // {inherit ;}; 981 986 982 - mkfontscale = (stdenv.mkDerivation ((if overrides ? mkfontscale then overrides.mkfontscale else x: x) { 987 + mkfontscale = (mkDerivation "mkfontscale" { 983 988 name = "mkfontscale-1.1.1"; 984 989 builder = ./builder.sh; 985 990 src = fetchurl { ··· 987 992 sha256 = "0cdpn1ii2iw1vg2ga4w62acrh78gzgf0vza4g8wx5kkp4jcifh14"; 988 993 }; 989 994 buildInputs = [pkgconfig libfontenc freetype xproto zlib ]; 990 - })) // {inherit libfontenc freetype xproto zlib ;}; 995 + }) // {inherit libfontenc freetype xproto zlib ;}; 991 996 992 - presentproto = (stdenv.mkDerivation ((if overrides ? presentproto then overrides.presentproto else x: x) { 997 + presentproto = (mkDerivation "presentproto" { 993 998 name = "presentproto-1.0"; 994 999 builder = ./builder.sh; 995 1000 src = fetchurl { ··· 997 1002 sha256 = "1kir51aqg9cwazs14ivcldcn3mzadqgykc9cg87rm40zf947sb41"; 998 1003 }; 999 1004 buildInputs = [pkgconfig ]; 1000 - })) // {inherit ;}; 1005 + }) // {inherit ;}; 1001 1006 1002 - printproto = (stdenv.mkDerivation ((if overrides ? printproto then overrides.printproto else x: x) { 1007 + printproto = (mkDerivation "printproto" { 1003 1008 name = "printproto-1.0.5"; 1004 1009 builder = ./builder.sh; 1005 1010 src = fetchurl { ··· 1007 1012 sha256 = "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j"; 1008 1013 }; 1009 1014 buildInputs = [pkgconfig libXau ]; 1010 - })) // {inherit libXau ;}; 1015 + }) // {inherit libXau ;}; 1011 1016 1012 - randrproto = (stdenv.mkDerivation ((if overrides ? randrproto then overrides.randrproto else x: x) { 1017 + randrproto = (mkDerivation "randrproto" { 1013 1018 name = "randrproto-1.4.0"; 1014 1019 builder = ./builder.sh; 1015 1020 src = fetchurl { ··· 1017 1022 sha256 = "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45"; 1018 1023 }; 1019 1024 buildInputs = [pkgconfig ]; 1020 - })) // {inherit ;}; 1025 + }) // {inherit ;}; 1021 1026 1022 - recordproto = (stdenv.mkDerivation ((if overrides ? recordproto then overrides.recordproto else x: x) { 1027 + recordproto = (mkDerivation "recordproto" { 1023 1028 name = "recordproto-1.14.2"; 1024 1029 builder = ./builder.sh; 1025 1030 src = fetchurl { ··· 1027 1032 sha256 = "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7"; 1028 1033 }; 1029 1034 buildInputs = [pkgconfig ]; 1030 - })) // {inherit ;}; 1035 + }) // {inherit ;}; 1031 1036 1032 - renderproto = (stdenv.mkDerivation ((if overrides ? renderproto then overrides.renderproto else x: x) { 1037 + renderproto = (mkDerivation "renderproto" { 1033 1038 name = "renderproto-0.11.1"; 1034 1039 builder = ./builder.sh; 1035 1040 src = fetchurl { ··· 1037 1042 sha256 = "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6"; 1038 1043 }; 1039 1044 buildInputs = [pkgconfig ]; 1040 - })) // {inherit ;}; 1045 + }) // {inherit ;}; 1041 1046 1042 - resourceproto = (stdenv.mkDerivation ((if overrides ? resourceproto then overrides.resourceproto else x: x) { 1047 + resourceproto = (mkDerivation "resourceproto" { 1043 1048 name = "resourceproto-1.2.0"; 1044 1049 builder = ./builder.sh; 1045 1050 src = fetchurl { ··· 1047 1052 sha256 = "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw"; 1048 1053 }; 1049 1054 buildInputs = [pkgconfig ]; 1050 - })) // {inherit ;}; 1055 + }) // {inherit ;}; 1051 1056 1052 - scrnsaverproto = (stdenv.mkDerivation ((if overrides ? scrnsaverproto then overrides.scrnsaverproto else x: x) { 1057 + scrnsaverproto = (mkDerivation "scrnsaverproto" { 1053 1058 name = "scrnsaverproto-1.2.2"; 1054 1059 builder = ./builder.sh; 1055 1060 src = fetchurl { ··· 1057 1062 sha256 = "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb"; 1058 1063 }; 1059 1064 buildInputs = [pkgconfig ]; 1060 - })) // {inherit ;}; 1065 + }) // {inherit ;}; 1061 1066 1062 - sessreg = (stdenv.mkDerivation ((if overrides ? sessreg then overrides.sessreg else x: x) { 1067 + sessreg = (mkDerivation "sessreg" { 1063 1068 name = "sessreg-1.0.8"; 1064 1069 builder = ./builder.sh; 1065 1070 src = fetchurl { ··· 1067 1072 sha256 = "1hy4wvgawajf4qw2k51fkcjzxw0drx60ydzpmqhj7k1g4z3cqahf"; 1068 1073 }; 1069 1074 buildInputs = [pkgconfig xproto ]; 1070 - })) // {inherit xproto ;}; 1075 + }) // {inherit xproto ;}; 1071 1076 1072 - setxkbmap = (stdenv.mkDerivation ((if overrides ? setxkbmap then overrides.setxkbmap else x: x) { 1077 + setxkbmap = (mkDerivation "setxkbmap" { 1073 1078 name = "setxkbmap-1.3.0"; 1074 1079 builder = ./builder.sh; 1075 1080 src = fetchurl { ··· 1077 1082 sha256 = "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x"; 1078 1083 }; 1079 1084 buildInputs = [pkgconfig libX11 libxkbfile ]; 1080 - })) // {inherit libX11 libxkbfile ;}; 1085 + }) // {inherit libX11 libxkbfile ;}; 1081 1086 1082 - smproxy = (stdenv.mkDerivation ((if overrides ? smproxy then overrides.smproxy else x: x) { 1087 + smproxy = (mkDerivation "smproxy" { 1083 1088 name = "smproxy-1.0.5"; 1084 1089 builder = ./builder.sh; 1085 1090 src = fetchurl { ··· 1087 1092 sha256 = "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67"; 1088 1093 }; 1089 1094 buildInputs = [pkgconfig libICE libSM libXmu libXt ]; 1090 - })) // {inherit libICE libSM libXmu libXt ;}; 1095 + }) // {inherit libICE libSM libXmu libXt ;}; 1091 1096 1092 - twm = (stdenv.mkDerivation ((if overrides ? twm then overrides.twm else x: x) { 1097 + twm = (mkDerivation "twm" { 1093 1098 name = "twm-1.0.8"; 1094 1099 builder = ./builder.sh; 1095 1100 src = fetchurl { ··· 1097 1102 sha256 = "0i1ff8h2gh1ab311da5dlhl0nrma0qbrk403ymzi4cnnacikaq3n"; 1098 1103 }; 1099 1104 buildInputs = [pkgconfig libICE libSM libX11 libXext libXmu xproto libXt ]; 1100 - })) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;}; 1105 + }) // {inherit libICE libSM libX11 libXext libXmu xproto libXt ;}; 1101 1106 1102 - utilmacros = (stdenv.mkDerivation ((if overrides ? utilmacros then overrides.utilmacros else x: x) { 1107 + utilmacros = (mkDerivation "utilmacros" { 1103 1108 name = "util-macros-1.19.0"; 1104 1109 builder = ./builder.sh; 1105 1110 src = fetchurl { ··· 1107 1112 sha256 = "1fnhpryf55l0yqajxn0cxan3kvsjzi67nlanz8clwqzf54cb2d98"; 1108 1113 }; 1109 1114 buildInputs = [pkgconfig ]; 1110 - })) // {inherit ;}; 1115 + }) // {inherit ;}; 1111 1116 1112 - videoproto = (stdenv.mkDerivation ((if overrides ? videoproto then overrides.videoproto else x: x) { 1117 + videoproto = (mkDerivation "videoproto" { 1113 1118 name = "videoproto-2.3.2"; 1114 1119 builder = ./builder.sh; 1115 1120 src = fetchurl { ··· 1117 1122 sha256 = "1dnlkd9nb0m135lgd6hd61vc29sdyarsyya8aqpx7z10p261dbld"; 1118 1123 }; 1119 1124 buildInputs = [pkgconfig ]; 1120 - })) // {inherit ;}; 1125 + }) // {inherit ;}; 1121 1126 1122 - windowswmproto = (stdenv.mkDerivation ((if overrides ? windowswmproto then overrides.windowswmproto else x: x) { 1127 + windowswmproto = (mkDerivation "windowswmproto" { 1123 1128 name = "windowswmproto-1.0.4"; 1124 1129 builder = ./builder.sh; 1125 1130 src = fetchurl { ··· 1127 1132 sha256 = "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0"; 1128 1133 }; 1129 1134 buildInputs = [pkgconfig ]; 1130 - })) // {inherit ;}; 1135 + }) // {inherit ;}; 1131 1136 1132 - x11perf = (stdenv.mkDerivation ((if overrides ? x11perf then overrides.x11perf else x: x) { 1137 + x11perf = (mkDerivation "x11perf" { 1133 1138 name = "x11perf-1.5.4"; 1134 1139 builder = ./builder.sh; 1135 1140 src = fetchurl { ··· 1137 1142 sha256 = "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4"; 1138 1143 }; 1139 1144 buildInputs = [pkgconfig libX11 libXext libXft libXmu libXrender ]; 1140 - })) // {inherit libX11 libXext libXft libXmu libXrender ;}; 1145 + }) // {inherit libX11 libXext libXft libXmu libXrender ;}; 1141 1146 1142 - xauth = (stdenv.mkDerivation ((if overrides ? xauth then overrides.xauth else x: x) { 1147 + xauth = (mkDerivation "xauth" { 1143 1148 name = "xauth-1.0.9"; 1144 1149 builder = ./builder.sh; 1145 1150 src = fetchurl { ··· 1147 1152 sha256 = "13y2invb0894b1in03jbglximbz6v31y2kr4yjjgica8xciibkjn"; 1148 1153 }; 1149 1154 buildInputs = [pkgconfig libX11 libXau libXext libXmu xproto ]; 1150 - })) // {inherit libX11 libXau libXext libXmu xproto ;}; 1155 + }) // {inherit libX11 libXau libXext libXmu xproto ;}; 1151 1156 1152 - xbacklight = (stdenv.mkDerivation ((if overrides ? xbacklight then overrides.xbacklight else x: x) { 1157 + xbacklight = (mkDerivation "xbacklight" { 1153 1158 name = "xbacklight-1.2.1"; 1154 1159 builder = ./builder.sh; 1155 1160 src = fetchurl { ··· 1157 1162 sha256 = "0arnd1j8vzhzmw72mqhjjcb2qwcbs9qphsy3ps593ajyld8wzxhp"; 1158 1163 }; 1159 1164 buildInputs = [pkgconfig libxcb xcbutil ]; 1160 - })) // {inherit libxcb xcbutil ;}; 1165 + }) // {inherit libxcb xcbutil ;}; 1161 1166 1162 - xbitmaps = (stdenv.mkDerivation ((if overrides ? xbitmaps then overrides.xbitmaps else x: x) { 1167 + xbitmaps = (mkDerivation "xbitmaps" { 1163 1168 name = "xbitmaps-1.1.1"; 1164 1169 builder = ./builder.sh; 1165 1170 src = fetchurl { ··· 1167 1172 sha256 = "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n"; 1168 1173 }; 1169 1174 buildInputs = [pkgconfig ]; 1170 - })) // {inherit ;}; 1175 + }) // {inherit ;}; 1171 1176 1172 - xcbproto = (stdenv.mkDerivation ((if overrides ? xcbproto then overrides.xcbproto else x: x) { 1177 + xcbproto = (mkDerivation "xcbproto" { 1173 1178 name = "xcb-proto-1.10"; 1174 1179 builder = ./builder.sh; 1175 1180 src = fetchurl { ··· 1177 1182 sha256 = "01dgp802i4ic9wkmpa7g1wm50pp547d3b96jjz2hnxavhpfhvx3y"; 1178 1183 }; 1179 1184 buildInputs = [pkgconfig python ]; 1180 - })) // {inherit python ;}; 1185 + }) // {inherit python ;}; 1181 1186 1182 - xcbutil = (stdenv.mkDerivation ((if overrides ? xcbutil then overrides.xcbutil else x: x) { 1187 + xcbutil = (mkDerivation "xcbutil" { 1183 1188 name = "xcb-util-0.3.9"; 1184 1189 builder = ./builder.sh; 1185 1190 src = fetchurl { ··· 1187 1192 sha256 = "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6"; 1188 1193 }; 1189 1194 buildInputs = [pkgconfig gperf m4 libxcb xproto ]; 1190 - })) // {inherit gperf m4 libxcb xproto ;}; 1195 + }) // {inherit gperf m4 libxcb xproto ;}; 1191 1196 1192 - xcbutilimage = (stdenv.mkDerivation ((if overrides ? xcbutilimage then overrides.xcbutilimage else x: x) { 1197 + xcbutilimage = (mkDerivation "xcbutilimage" { 1193 1198 name = "xcb-util-image-0.3.9"; 1194 1199 builder = ./builder.sh; 1195 1200 src = fetchurl { ··· 1197 1202 sha256 = "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk"; 1198 1203 }; 1199 1204 buildInputs = [pkgconfig gperf m4 libxcb xcbutil xproto ]; 1200 - })) // {inherit gperf m4 libxcb xcbutil xproto ;}; 1205 + }) // {inherit gperf m4 libxcb xcbutil xproto ;}; 1201 1206 1202 - xcbutilkeysyms = (stdenv.mkDerivation ((if overrides ? xcbutilkeysyms then overrides.xcbutilkeysyms else x: x) { 1207 + xcbutilkeysyms = (mkDerivation "xcbutilkeysyms" { 1203 1208 name = "xcb-util-keysyms-0.3.9"; 1204 1209 builder = ./builder.sh; 1205 1210 src = fetchurl { ··· 1207 1212 sha256 = "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv"; 1208 1213 }; 1209 1214 buildInputs = [pkgconfig gperf m4 libxcb xproto ]; 1210 - })) // {inherit gperf m4 libxcb xproto ;}; 1215 + }) // {inherit gperf m4 libxcb xproto ;}; 1211 1216 1212 - xcbutilrenderutil = (stdenv.mkDerivation ((if overrides ? xcbutilrenderutil then overrides.xcbutilrenderutil else x: x) { 1217 + xcbutilrenderutil = (mkDerivation "xcbutilrenderutil" { 1213 1218 name = "xcb-util-renderutil-0.3.9"; 1214 1219 builder = ./builder.sh; 1215 1220 src = fetchurl { ··· 1217 1222 sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6"; 1218 1223 }; 1219 1224 buildInputs = [pkgconfig gperf m4 libxcb xproto ]; 1220 - })) // {inherit gperf m4 libxcb xproto ;}; 1225 + }) // {inherit gperf m4 libxcb xproto ;}; 1221 1226 1222 - xcbutilwm = (stdenv.mkDerivation ((if overrides ? xcbutilwm then overrides.xcbutilwm else x: x) { 1227 + xcbutilwm = (mkDerivation "xcbutilwm" { 1223 1228 name = "xcb-util-wm-0.4.1"; 1224 1229 builder = ./builder.sh; 1225 1230 src = fetchurl { ··· 1227 1232 sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"; 1228 1233 }; 1229 1234 buildInputs = [pkgconfig gperf m4 libxcb xproto ]; 1230 - })) // {inherit gperf m4 libxcb xproto ;}; 1235 + }) // {inherit gperf m4 libxcb xproto ;}; 1231 1236 1232 - xclock = (stdenv.mkDerivation ((if overrides ? xclock then overrides.xclock else x: x) { 1237 + xclock = (mkDerivation "xclock" { 1233 1238 name = "xclock-1.0.7"; 1234 1239 builder = ./builder.sh; 1235 1240 src = fetchurl { ··· 1237 1242 sha256 = "1l3xv4bsca6bwxx73jyjz0blav86i7vwffkhdb1ac81y9slyrki3"; 1238 1243 }; 1239 1244 buildInputs = [pkgconfig libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ]; 1240 - })) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;}; 1245 + }) // {inherit libX11 libXaw libXft libxkbfile libXmu xproto libXrender libXt ;}; 1241 1246 1242 - xcmiscproto = (stdenv.mkDerivation ((if overrides ? xcmiscproto then overrides.xcmiscproto else x: x) { 1247 + xcmiscproto = (mkDerivation "xcmiscproto" { 1243 1248 name = "xcmiscproto-1.2.2"; 1244 1249 builder = ./builder.sh; 1245 1250 src = fetchurl { ··· 1247 1252 sha256 = "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi"; 1248 1253 }; 1249 1254 buildInputs = [pkgconfig ]; 1250 - })) // {inherit ;}; 1255 + }) // {inherit ;}; 1251 1256 1252 - xcmsdb = (stdenv.mkDerivation ((if overrides ? xcmsdb then overrides.xcmsdb else x: x) { 1257 + xcmsdb = (mkDerivation "xcmsdb" { 1253 1258 name = "xcmsdb-1.0.4"; 1254 1259 builder = ./builder.sh; 1255 1260 src = fetchurl { ··· 1257 1262 sha256 = "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74"; 1258 1263 }; 1259 1264 buildInputs = [pkgconfig libX11 ]; 1260 - })) // {inherit libX11 ;}; 1265 + }) // {inherit libX11 ;}; 1261 1266 1262 - xcursorgen = (stdenv.mkDerivation ((if overrides ? xcursorgen then overrides.xcursorgen else x: x) { 1267 + xcursorgen = (mkDerivation "xcursorgen" { 1263 1268 name = "xcursorgen-1.0.6"; 1264 1269 builder = ./builder.sh; 1265 1270 src = fetchurl { ··· 1267 1272 sha256 = "0v7nncj3kaa8c0524j7ricdf4rvld5i7c3m6fj55l5zbah7r3j1i"; 1268 1273 }; 1269 1274 buildInputs = [pkgconfig libpng libX11 libXcursor ]; 1270 - })) // {inherit libpng libX11 libXcursor ;}; 1275 + }) // {inherit libpng libX11 libXcursor ;}; 1271 1276 1272 - xcursorthemes = (stdenv.mkDerivation ((if overrides ? xcursorthemes then overrides.xcursorthemes else x: x) { 1277 + xcursorthemes = (mkDerivation "xcursorthemes" { 1273 1278 name = "xcursor-themes-1.0.4"; 1274 1279 builder = ./builder.sh; 1275 1280 src = fetchurl { ··· 1277 1282 sha256 = "11mv661nj1p22sqkv87ryj2lcx4m68a04b0rs6iqh3fzp42jrzg3"; 1278 1283 }; 1279 1284 buildInputs = [pkgconfig libXcursor ]; 1280 - })) // {inherit libXcursor ;}; 1285 + }) // {inherit libXcursor ;}; 1281 1286 1282 - xdm = (stdenv.mkDerivation ((if overrides ? xdm then overrides.xdm else x: x) { 1287 + xdm = (mkDerivation "xdm" { 1283 1288 name = "xdm-1.1.11"; 1284 1289 builder = ./builder.sh; 1285 1290 src = fetchurl { ··· 1287 1292 sha256 = "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl"; 1288 1293 }; 1289 1294 buildInputs = [pkgconfig libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ]; 1290 - })) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;}; 1295 + }) // {inherit libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm libXt ;}; 1291 1296 1292 - xdpyinfo = (stdenv.mkDerivation ((if overrides ? xdpyinfo then overrides.xdpyinfo else x: x) { 1297 + xdpyinfo = (mkDerivation "xdpyinfo" { 1293 1298 name = "xdpyinfo-1.3.1"; 1294 1299 builder = ./builder.sh; 1295 1300 src = fetchurl { ··· 1297 1302 sha256 = "154b29zlrq33lmni883jgwyrb2kx7z8h52jx1s3ys5x5d582iydf"; 1298 1303 }; 1299 1304 buildInputs = [pkgconfig libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; 1300 - })) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; 1305 + }) // {inherit libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ;}; 1301 1306 1302 - xdriinfo = (stdenv.mkDerivation ((if overrides ? xdriinfo then overrides.xdriinfo else x: x) { 1307 + xdriinfo = (mkDerivation "xdriinfo" { 1303 1308 name = "xdriinfo-1.0.4"; 1304 1309 builder = ./builder.sh; 1305 1310 src = fetchurl { ··· 1307 1312 sha256 = "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim"; 1308 1313 }; 1309 1314 buildInputs = [pkgconfig glproto libX11 ]; 1310 - })) // {inherit glproto libX11 ;}; 1315 + }) // {inherit glproto libX11 ;}; 1311 1316 1312 - xev = (stdenv.mkDerivation ((if overrides ? xev then overrides.xev else x: x) { 1317 + xev = (mkDerivation "xev" { 1313 1318 name = "xev-1.2.1"; 1314 1319 builder = ./builder.sh; 1315 1320 src = fetchurl { ··· 1317 1322 sha256 = "0hv296mysglcgkx6lj1wxc23kshb2kix1a8yqppxj5vz16mpzw8i"; 1318 1323 }; 1319 1324 buildInputs = [pkgconfig libX11 xproto libXrandr ]; 1320 - })) // {inherit libX11 xproto libXrandr ;}; 1325 + }) // {inherit libX11 xproto libXrandr ;}; 1321 1326 1322 - xextproto = (stdenv.mkDerivation ((if overrides ? xextproto then overrides.xextproto else x: x) { 1327 + xextproto = (mkDerivation "xextproto" { 1323 1328 name = "xextproto-7.3.0"; 1324 1329 builder = ./builder.sh; 1325 1330 src = fetchurl { ··· 1327 1332 sha256 = "1c2vma9gqgc2v06rfxdiqgwhxmzk2cbmknwf1ng3m76vr0xb5x7k"; 1328 1333 }; 1329 1334 buildInputs = [pkgconfig ]; 1330 - })) // {inherit ;}; 1335 + }) // {inherit ;}; 1331 1336 1332 - xeyes = (stdenv.mkDerivation ((if overrides ? xeyes then overrides.xeyes else x: x) { 1337 + xeyes = (mkDerivation "xeyes" { 1333 1338 name = "xeyes-1.1.1"; 1334 1339 builder = ./builder.sh; 1335 1340 src = fetchurl { ··· 1337 1342 sha256 = "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp"; 1338 1343 }; 1339 1344 buildInputs = [pkgconfig libX11 libXext libXmu libXrender libXt ]; 1340 - })) // {inherit libX11 libXext libXmu libXrender libXt ;}; 1345 + }) // {inherit libX11 libXext libXmu libXrender libXt ;}; 1341 1346 1342 - xf86bigfontproto = (stdenv.mkDerivation ((if overrides ? xf86bigfontproto then overrides.xf86bigfontproto else x: x) { 1347 + xf86bigfontproto = (mkDerivation "xf86bigfontproto" { 1343 1348 name = "xf86bigfontproto-1.2.0"; 1344 1349 builder = ./builder.sh; 1345 1350 src = fetchurl { ··· 1347 1352 sha256 = "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms"; 1348 1353 }; 1349 1354 buildInputs = [pkgconfig ]; 1350 - })) // {inherit ;}; 1355 + }) // {inherit ;}; 1351 1356 1352 - xf86dgaproto = (stdenv.mkDerivation ((if overrides ? xf86dgaproto then overrides.xf86dgaproto else x: x) { 1357 + xf86dgaproto = (mkDerivation "xf86dgaproto" { 1353 1358 name = "xf86dgaproto-2.1"; 1354 1359 builder = ./builder.sh; 1355 1360 src = fetchurl { ··· 1357 1362 sha256 = "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc"; 1358 1363 }; 1359 1364 buildInputs = [pkgconfig ]; 1360 - })) // {inherit ;}; 1365 + }) // {inherit ;}; 1361 1366 1362 - xf86driproto = (stdenv.mkDerivation ((if overrides ? xf86driproto then overrides.xf86driproto else x: x) { 1367 + xf86driproto = (mkDerivation "xf86driproto" { 1363 1368 name = "xf86driproto-2.1.1"; 1364 1369 builder = ./builder.sh; 1365 1370 src = fetchurl { ··· 1367 1372 sha256 = "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww"; 1368 1373 }; 1369 1374 buildInputs = [pkgconfig ]; 1370 - })) // {inherit ;}; 1375 + }) // {inherit ;}; 1371 1376 1372 - xf86inputevdev = (stdenv.mkDerivation ((if overrides ? xf86inputevdev then overrides.xf86inputevdev else x: x) { 1377 + xf86inputevdev = (mkDerivation "xf86inputevdev" { 1373 1378 name = "xf86-input-evdev-2.8.4"; 1374 1379 builder = ./builder.sh; 1375 1380 src = fetchurl { ··· 1377 1382 sha256 = "030haki1h0m85h91c91812gdnk6znfamw5kpr010zxwwbsgxxyl5"; 1378 1383 }; 1379 1384 buildInputs = [pkgconfig inputproto udev xorgserver xproto ]; 1380 - })) // {inherit inputproto udev xorgserver xproto ;}; 1385 + }) // {inherit inputproto udev xorgserver xproto ;}; 1381 1386 1382 - xf86inputjoystick = (stdenv.mkDerivation ((if overrides ? xf86inputjoystick then overrides.xf86inputjoystick else x: x) { 1387 + xf86inputjoystick = (mkDerivation "xf86inputjoystick" { 1383 1388 name = "xf86-input-joystick-1.6.2"; 1384 1389 builder = ./builder.sh; 1385 1390 src = fetchurl { ··· 1387 1392 sha256 = "038mfqairyyqvz02rk7v3i070sab1wr0k6fkxvyvxdgkfbnqcfzf"; 1388 1393 }; 1389 1394 buildInputs = [pkgconfig inputproto kbproto xorgserver xproto ]; 1390 - })) // {inherit inputproto kbproto xorgserver xproto ;}; 1395 + }) // {inherit inputproto kbproto xorgserver xproto ;}; 1391 1396 1392 - xf86inputkeyboard = (stdenv.mkDerivation ((if overrides ? xf86inputkeyboard then overrides.xf86inputkeyboard else x: x) { 1397 + xf86inputkeyboard = (mkDerivation "xf86inputkeyboard" { 1393 1398 name = "xf86-input-keyboard-1.8.0"; 1394 1399 builder = ./builder.sh; 1395 1400 src = fetchurl { ··· 1397 1402 sha256 = "0nyb61w30z32djrllgr2s1i13di3vsl6hg4pqjhxdal71971ria1"; 1398 1403 }; 1399 1404 buildInputs = [pkgconfig inputproto xorgserver xproto ]; 1400 - })) // {inherit inputproto xorgserver xproto ;}; 1405 + }) // {inherit inputproto xorgserver xproto ;}; 1401 1406 1402 - xf86inputmouse = (stdenv.mkDerivation ((if overrides ? xf86inputmouse then overrides.xf86inputmouse else x: x) { 1407 + xf86inputmouse = (mkDerivation "xf86inputmouse" { 1403 1408 name = "xf86-input-mouse-1.9.0"; 1404 1409 builder = ./builder.sh; 1405 1410 src = fetchurl { ··· 1407 1412 sha256 = "12344w0cxac1ld54qqwynxwazbmmpvqh1mzcskmfkmakmr5iwq2x"; 1408 1413 }; 1409 1414 buildInputs = [pkgconfig inputproto xorgserver xproto ]; 1410 - })) // {inherit inputproto xorgserver xproto ;}; 1415 + }) // {inherit inputproto xorgserver xproto ;}; 1411 1416 1412 - xf86inputsynaptics = (stdenv.mkDerivation ((if overrides ? xf86inputsynaptics then overrides.xf86inputsynaptics else x: x) { 1417 + xf86inputsynaptics = (mkDerivation "xf86inputsynaptics" { 1413 1418 name = "xf86-input-synaptics-1.7.6"; 1414 1419 builder = ./builder.sh; 1415 1420 src = fetchurl { ··· 1417 1422 sha256 = "0ls8f7gy92f54hdqsa19vypg0xm496jrgdhdn4qphycxwn3gwkbm"; 1418 1423 }; 1419 1424 buildInputs = [pkgconfig inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ]; 1420 - })) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; 1425 + }) // {inherit inputproto randrproto recordproto libX11 libXi xorgserver xproto libXtst ;}; 1421 1426 1422 - xf86inputvmmouse = (stdenv.mkDerivation ((if overrides ? xf86inputvmmouse then overrides.xf86inputvmmouse else x: x) { 1427 + xf86inputvmmouse = (mkDerivation "xf86inputvmmouse" { 1423 1428 name = "xf86-input-vmmouse-13.0.0"; 1424 1429 builder = ./builder.sh; 1425 1430 src = fetchurl { ··· 1427 1432 sha256 = "0b31ap9wp7nwpnihz8m7bz3p0hhaipxxhl652nw4v380cq1vdkq4"; 1428 1433 }; 1429 1434 buildInputs = [pkgconfig inputproto randrproto xorgserver xproto ]; 1430 - })) // {inherit inputproto randrproto xorgserver xproto ;}; 1435 + }) // {inherit inputproto randrproto xorgserver xproto ;}; 1431 1436 1432 - xf86inputvoid = (stdenv.mkDerivation ((if overrides ? xf86inputvoid then overrides.xf86inputvoid else x: x) { 1437 + xf86inputvoid = (mkDerivation "xf86inputvoid" { 1433 1438 name = "xf86-input-void-1.4.0"; 1434 1439 builder = ./builder.sh; 1435 1440 src = fetchurl { ··· 1437 1442 sha256 = "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a"; 1438 1443 }; 1439 1444 buildInputs = [pkgconfig xorgserver xproto ]; 1440 - })) // {inherit xorgserver xproto ;}; 1445 + }) // {inherit xorgserver xproto ;}; 1441 1446 1442 - xf86miscproto = (stdenv.mkDerivation ((if overrides ? xf86miscproto then overrides.xf86miscproto else x: x) { 1447 + xf86miscproto = (mkDerivation "xf86miscproto" { 1443 1448 name = "xf86miscproto-0.9.3"; 1444 1449 builder = ./builder.sh; 1445 1450 src = fetchurl { ··· 1447 1452 sha256 = "15dhcdpv61fyj6rhzrhnwri9hlw8rjfy05z1vik118lc99mfrf25"; 1448 1453 }; 1449 1454 buildInputs = [pkgconfig ]; 1450 - })) // {inherit ;}; 1455 + }) // {inherit ;}; 1451 1456 1452 - xf86videoark = (stdenv.mkDerivation ((if overrides ? xf86videoark then overrides.xf86videoark else x: x) { 1457 + xf86videoark = (mkDerivation "xf86videoark" { 1453 1458 name = "xf86-video-ark-0.7.5"; 1454 1459 builder = ./builder.sh; 1455 1460 src = fetchurl { ··· 1457 1462 sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466"; 1458 1463 }; 1459 1464 buildInputs = [pkgconfig fontsproto libpciaccess xextproto xorgserver xproto ]; 1460 - })) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;}; 1465 + }) // {inherit fontsproto libpciaccess xextproto xorgserver xproto ;}; 1461 1466 1462 - xf86videoast = (stdenv.mkDerivation ((if overrides ? xf86videoast then overrides.xf86videoast else x: x) { 1467 + xf86videoast = (mkDerivation "xf86videoast" { 1463 1468 name = "xf86-video-ast-0.98.0"; 1464 1469 builder = ./builder.sh; 1465 1470 src = fetchurl { ··· 1467 1472 sha256 = "188nv73w0p5xhfxz2dffli44yzyn1qhhq3qkwc8wva9dhg25n8lh"; 1468 1473 }; 1469 1474 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; 1470 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1475 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1471 1476 1472 - xf86videoati = (stdenv.mkDerivation ((if overrides ? xf86videoati then overrides.xf86videoati else x: x) { 1477 + xf86videoati = (mkDerivation "xf86videoati" { 1473 1478 name = "xf86-video-ati-7.4.0"; 1474 1479 builder = ./builder.sh; 1475 1480 src = fetchurl { ··· 1477 1482 sha256 = "1nbnvxlyn75bcf23m39p7yw80kilgdxmjdvzgcs3walshnlhq8wn"; 1478 1483 }; 1479 1484 buildInputs = [pkgconfig fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; 1480 - })) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1485 + }) // {inherit fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1481 1486 1482 - xf86videocirrus = (stdenv.mkDerivation ((if overrides ? xf86videocirrus then overrides.xf86videocirrus else x: x) { 1487 + xf86videocirrus = (mkDerivation "xf86videocirrus" { 1483 1488 name = "xf86-video-cirrus-1.5.2"; 1484 1489 builder = ./builder.sh; 1485 1490 src = fetchurl { ··· 1487 1492 sha256 = "1mycqgjp18b6adqj2h90vp324xh8ysyi5migfmjc914vbnkf2q9k"; 1488 1493 }; 1489 1494 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; 1490 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1495 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1491 1496 1492 - xf86videodummy = (stdenv.mkDerivation ((if overrides ? xf86videodummy then overrides.xf86videodummy else x: x) { 1497 + xf86videodummy = (mkDerivation "xf86videodummy" { 1493 1498 name = "xf86-video-dummy-0.3.7"; 1494 1499 builder = ./builder.sh; 1495 1500 src = fetchurl { ··· 1497 1502 sha256 = "1046p64xap69vlsmsz5rjv0djc970yhvq44fmllmas0mqp5lzy2n"; 1498 1503 }; 1499 1504 buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ]; 1500 - })) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; 1505 + }) // {inherit fontsproto randrproto renderproto videoproto xf86dgaproto xorgserver xproto ;}; 1501 1506 1502 - xf86videofbdev = (stdenv.mkDerivation ((if overrides ? xf86videofbdev then overrides.xf86videofbdev else x: x) { 1507 + xf86videofbdev = (mkDerivation "xf86videofbdev" { 1503 1508 name = "xf86-video-fbdev-0.4.4"; 1504 1509 builder = ./builder.sh; 1505 1510 src = fetchurl { ··· 1507 1512 sha256 = "06ym7yy017lanj730hfkpfk4znx3dsj8jq3qvyzsn8w294kb7m4x"; 1508 1513 }; 1509 1514 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ]; 1510 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; 1515 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xorgserver xproto ;}; 1511 1516 1512 - xf86videogeode = (stdenv.mkDerivation ((if overrides ? xf86videogeode then overrides.xf86videogeode else x: x) { 1517 + xf86videogeode = (mkDerivation "xf86videogeode" { 1513 1518 name = "xf86-video-geode-2.11.15"; 1514 1519 builder = ./builder.sh; 1515 1520 src = fetchurl { ··· 1517 1522 sha256 = "1w4ghr2a41kaw4g9na8ws5fjbmy8zkbxpxa21vmqc8mkjzb3pnq0"; 1518 1523 }; 1519 1524 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; 1520 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1525 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1521 1526 1522 - xf86videoglide = (stdenv.mkDerivation ((if overrides ? xf86videoglide then overrides.xf86videoglide else x: x) { 1527 + xf86videoglide = (mkDerivation "xf86videoglide" { 1523 1528 name = "xf86-video-glide-1.2.2"; 1524 1529 builder = ./builder.sh; 1525 1530 src = fetchurl { ··· 1527 1532 sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y"; 1528 1533 }; 1529 1534 buildInputs = [pkgconfig xextproto xorgserver xproto ]; 1530 - })) // {inherit xextproto xorgserver xproto ;}; 1535 + }) // {inherit xextproto xorgserver xproto ;}; 1531 1536 1532 - xf86videoglint = (stdenv.mkDerivation ((if overrides ? xf86videoglint then overrides.xf86videoglint else x: x) { 1537 + xf86videoglint = (mkDerivation "xf86videoglint" { 1533 1538 name = "xf86-video-glint-1.2.8"; 1534 1539 builder = ./builder.sh; 1535 1540 src = fetchurl { ··· 1537 1542 sha256 = "08a2aark2yn9irws9c78d9q44dichr03i9zbk61jgr54ncxqhzv5"; 1538 1543 }; 1539 1544 buildInputs = [pkgconfig libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ]; 1540 - })) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;}; 1545 + }) // {inherit libpciaccess videoproto xextproto xf86dgaproto xorgserver xproto ;}; 1541 1546 1542 - xf86videoi128 = (stdenv.mkDerivation ((if overrides ? xf86videoi128 then overrides.xf86videoi128 else x: x) { 1547 + xf86videoi128 = (mkDerivation "xf86videoi128" { 1543 1548 name = "xf86-video-i128-1.3.6"; 1544 1549 builder = ./builder.sh; 1545 1550 src = fetchurl { ··· 1547 1552 sha256 = "171b8lbxr56w3isph947dnw7x87hc46v6m3mcxdcz44gk167x0pq"; 1548 1553 }; 1549 1554 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; 1550 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1555 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1551 1556 1552 - xf86videointel = (stdenv.mkDerivation ((if overrides ? xf86videointel then overrides.xf86videointel else x: x) { 1557 + xf86videointel = (mkDerivation "xf86videointel" { 1553 1558 name = "xf86-video-intel-2.21.15"; 1554 1559 builder = ./builder.sh; 1555 1560 src = fetchurl { ··· 1557 1562 sha256 = "1z6ncmpszmwqi9xr590c4kp4gjjf7mndcr56r35x2bx7h87i8nkx"; 1558 1563 }; 1559 1564 buildInputs = [pkgconfig dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ]; 1560 - })) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; 1565 + }) // {inherit dri2proto fontsproto glamoregl libdrm udev libpciaccess randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto xorgserver xproto libXrender libXvMC ;}; 1561 1566 1562 - xf86videomach64 = (stdenv.mkDerivation ((if overrides ? xf86videomach64 then overrides.xf86videomach64 else x: x) { 1567 + xf86videomach64 = (mkDerivation "xf86videomach64" { 1563 1568 name = "xf86-video-mach64-6.9.4"; 1564 1569 builder = ./builder.sh; 1565 1570 src = fetchurl { ··· 1567 1572 sha256 = "0pl582vnc6hdxqhf5c0qdyanjqxb4crnhqlmxxml5a60syw0iwcp"; 1568 1573 }; 1569 1574 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; 1570 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1575 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1571 1576 1572 - xf86videomga = (stdenv.mkDerivation ((if overrides ? xf86videomga then overrides.xf86videomga else x: x) { 1577 + xf86videomga = (mkDerivation "xf86videomga" { 1573 1578 name = "xf86-video-mga-1.6.3"; 1574 1579 builder = ./builder.sh; 1575 1580 src = fetchurl { ··· 1577 1582 sha256 = "1my7y67sadjjmab1dyxckylrggi7p01yk4wwg9w6k1q96pmb213p"; 1578 1583 }; 1579 1584 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; 1580 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1585 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1581 1586 1582 - xf86videomodesetting = (stdenv.mkDerivation ((if overrides ? xf86videomodesetting then overrides.xf86videomodesetting else x: x) { 1587 + xf86videomodesetting = (mkDerivation "xf86videomodesetting" { 1583 1588 name = "xf86-video-modesetting-0.9.0"; 1584 1589 builder = ./builder.sh; 1585 1590 src = fetchurl { ··· 1587 1592 sha256 = "0p6pjn5bnd2wr3lmas4b12zcq12d9ilvssga93fzlg90fdahikwh"; 1588 1593 }; 1589 1594 buildInputs = [pkgconfig fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ]; 1590 - })) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;}; 1595 + }) // {inherit fontsproto libdrm udev libpciaccess randrproto libX11 xextproto xorgserver xproto ;}; 1591 1596 1592 - xf86videoneomagic = (stdenv.mkDerivation ((if overrides ? xf86videoneomagic then overrides.xf86videoneomagic else x: x) { 1597 + xf86videoneomagic = (mkDerivation "xf86videoneomagic" { 1593 1598 name = "xf86-video-neomagic-1.2.8"; 1594 1599 builder = ./builder.sh; 1595 1600 src = fetchurl { ··· 1597 1602 sha256 = "0x48sxs1p3kmwk3pq1j7vl93y59gdmgkq1x5xbnh0yal0angdash"; 1598 1603 }; 1599 1604 buildInputs = [pkgconfig fontsproto libpciaccess xorgserver xproto ]; 1600 - })) // {inherit fontsproto libpciaccess xorgserver xproto ;}; 1605 + }) // {inherit fontsproto libpciaccess xorgserver xproto ;}; 1601 1606 1602 - xf86videonewport = (stdenv.mkDerivation ((if overrides ? xf86videonewport then overrides.xf86videonewport else x: x) { 1607 + xf86videonewport = (mkDerivation "xf86videonewport" { 1603 1608 name = "xf86-video-newport-0.2.4"; 1604 1609 builder = ./builder.sh; 1605 1610 src = fetchurl { ··· 1607 1612 sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i"; 1608 1613 }; 1609 1614 buildInputs = [pkgconfig fontsproto randrproto renderproto videoproto xorgserver xproto ]; 1610 - })) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;}; 1615 + }) // {inherit fontsproto randrproto renderproto videoproto xorgserver xproto ;}; 1611 1616 1612 - xf86videonouveau = (stdenv.mkDerivation ((if overrides ? xf86videonouveau then overrides.xf86videonouveau else x: x) { 1617 + xf86videonouveau = (mkDerivation "xf86videonouveau" { 1613 1618 name = "xf86-video-nouveau-1.0.10"; 1614 1619 builder = ./builder.sh; 1615 1620 src = fetchurl { ··· 1617 1622 sha256 = "17fvjplzfx86099sqys0bfl8lfbmjz8li84kzj2x95mf1cbb7fn1"; 1618 1623 }; 1619 1624 buildInputs = [pkgconfig dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; 1620 - })) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1625 + }) // {inherit dri2proto fontsproto libdrm udev libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1621 1626 1622 - xf86videonv = (stdenv.mkDerivation ((if overrides ? xf86videonv then overrides.xf86videonv else x: x) { 1627 + xf86videonv = (mkDerivation "xf86videonv" { 1623 1628 name = "xf86-video-nv-2.1.20"; 1624 1629 builder = ./builder.sh; 1625 1630 src = fetchurl { ··· 1627 1632 sha256 = "1gqh1khc4zalip5hh2nksgs7i3piqq18nncgmsx9qvzi05azd5c3"; 1628 1633 }; 1629 1634 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ]; 1630 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1635 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xorgserver xproto ;}; 1631 1636 1632 - xf86videoopenchrome = (stdenv.mkDerivation ((if overrides ? xf86videoopenchrome then overrides.xf86videoopenchrome else x: x) { 1637 + xf86videoopenchrome = (mkDerivation "xf86videoopenchrome" { 1633 1638 name = "xf86-video-openchrome-0.3.3"; 1634 1639 builder = ./builder.sh; 1635 1640 src = fetchurl { ··· 1637 1642 sha256 = "1v8j4i1r268n4fc5gq54zg1x50j0rhw71f3lba7411mcblg2z7p4"; 1638 1643 }; 1639 1644 buildInputs = [pkgconfig fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ]; 1640 - })) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; 1645 + }) // {inherit fontsproto glproto libdrm udev libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xf86driproto xorgserver xproto libXvMC ;}; 1641 1646 1642 - xf86videor128 = (stdenv.mkDerivation ((if overrides ? xf86videor128 then overrides.xf86videor128 else x: x) { 1647 + xf86videor128 = (mkDerivation "xf86videor128" { 1643 1648 name = "xf86-video-r128-6.9.2"; 1644 1649 builder = ./builder.sh; 1645 1650 src = fetchurl { ··· 1647 1652 sha256 = "1q3fsc603k2yinphx5rrcl5356qkpywwz8axlw277l2231gjjbcb"; 1648 1653 }; 1649 1654 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ]; 1650 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;}; 1655 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xf86miscproto xorgserver xproto ;}; 1651 1656 1652 - xf86videosavage = (stdenv.mkDerivation ((if overrides ? xf86videosavage then overrides.xf86videosavage else x: x) { 1657 + xf86videosavage = (mkDerivation "xf86videosavage" { 1653 1658 name = "xf86-video-savage-2.3.7"; 1654 1659 builder = ./builder.sh; 1655 1660 src = fetchurl { ··· 1657 1662 sha256 = "0i2aqp68rfkrz9c1p6d7ny9x7bjrlnby7q56zf01fb12r42l4784"; 1658 1663 }; 1659 1664 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; 1660 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1665 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1661 1666 1662 - xf86videosiliconmotion = (stdenv.mkDerivation ((if overrides ? xf86videosiliconmotion then overrides.xf86videosiliconmotion else x: x) { 1667 + xf86videosiliconmotion = (mkDerivation "xf86videosiliconmotion" { 1663 1668 name = "xf86-video-siliconmotion-1.7.7"; 1664 1669 builder = ./builder.sh; 1665 1670 src = fetchurl { ··· 1667 1672 sha256 = "1an321kqvsxq0z35acwl99lc8hpdkayw0q180744ypcl8ffvbf47"; 1668 1673 }; 1669 1674 buildInputs = [pkgconfig fontsproto libpciaccess videoproto xextproto xorgserver xproto ]; 1670 - })) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;}; 1675 + }) // {inherit fontsproto libpciaccess videoproto xextproto xorgserver xproto ;}; 1671 1676 1672 - xf86videosis = (stdenv.mkDerivation ((if overrides ? xf86videosis then overrides.xf86videosis else x: x) { 1677 + xf86videosis = (mkDerivation "xf86videosis" { 1673 1678 name = "xf86-video-sis-0.10.7"; 1674 1679 builder = ./builder.sh; 1675 1680 src = fetchurl { ··· 1677 1682 sha256 = "1l0w84x39gq4y9j81dny9r6rma1xkqvxpsavpkd8h7h8panbcbmy"; 1678 1683 }; 1679 1684 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ]; 1680 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;}; 1685 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xf86driproto xineramaproto xorgserver xproto ;}; 1681 1686 1682 - xf86videosuncg6 = (stdenv.mkDerivation ((if overrides ? xf86videosuncg6 then overrides.xf86videosuncg6 else x: x) { 1687 + xf86videosuncg6 = (mkDerivation "xf86videosuncg6" { 1683 1688 name = "xf86-video-suncg6-1.1.2"; 1684 1689 builder = ./builder.sh; 1685 1690 src = fetchurl { ··· 1687 1692 sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr"; 1688 1693 }; 1689 1694 buildInputs = [pkgconfig fontsproto randrproto renderproto xorgserver xproto ]; 1690 - })) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; 1695 + }) // {inherit fontsproto randrproto renderproto xorgserver xproto ;}; 1691 1696 1692 - xf86videosunffb = (stdenv.mkDerivation ((if overrides ? xf86videosunffb then overrides.xf86videosunffb else x: x) { 1697 + xf86videosunffb = (mkDerivation "xf86videosunffb" { 1693 1698 name = "xf86-video-sunffb-1.2.2"; 1694 1699 builder = ./builder.sh; 1695 1700 src = fetchurl { ··· 1697 1702 sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s"; 1698 1703 }; 1699 1704 buildInputs = [pkgconfig fontsproto randrproto renderproto xextproto xorgserver xproto ]; 1700 - })) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;}; 1705 + }) // {inherit fontsproto randrproto renderproto xextproto xorgserver xproto ;}; 1701 1706 1702 - xf86videotdfx = (stdenv.mkDerivation ((if overrides ? xf86videotdfx then overrides.xf86videotdfx else x: x) { 1707 + xf86videotdfx = (mkDerivation "xf86videotdfx" { 1703 1708 name = "xf86-video-tdfx-1.4.5"; 1704 1709 builder = ./builder.sh; 1705 1710 src = fetchurl { ··· 1707 1712 sha256 = "0nfqf1c8939s21ci1g7gacwzlr4g4nnilahgz7j2bz30zfnzpmbh"; 1708 1713 }; 1709 1714 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ]; 1710 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1715 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto xextproto xf86driproto xorgserver xproto ;}; 1711 1716 1712 - xf86videotga = (stdenv.mkDerivation ((if overrides ? xf86videotga then overrides.xf86videotga else x: x) { 1717 + xf86videotga = (mkDerivation "xf86videotga" { 1713 1718 name = "xf86-video-tga-1.2.2"; 1714 1719 builder = ./builder.sh; 1715 1720 src = fetchurl { ··· 1717 1722 sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0"; 1718 1723 }; 1719 1724 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; 1720 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; 1725 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; 1721 1726 1722 - xf86videotrident = (stdenv.mkDerivation ((if overrides ? xf86videotrident then overrides.xf86videotrident else x: x) { 1727 + xf86videotrident = (mkDerivation "xf86videotrident" { 1723 1728 name = "xf86-video-trident-1.3.6"; 1724 1729 builder = ./builder.sh; 1725 1730 src = fetchurl { ··· 1727 1732 sha256 = "0141qbfsm32i0pxjyx5czpa8x8m4lvapsp4amw1qigaa0gry6n3a"; 1728 1733 }; 1729 1734 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ]; 1730 - })) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; 1735 + }) // {inherit fontsproto libpciaccess randrproto renderproto videoproto xextproto xf86dgaproto xorgserver xproto ;}; 1731 1736 1732 - xf86videov4l = (stdenv.mkDerivation ((if overrides ? xf86videov4l then overrides.xf86videov4l else x: x) { 1737 + xf86videov4l = (mkDerivation "xf86videov4l" { 1733 1738 name = "xf86-video-v4l-0.2.0"; 1734 1739 builder = ./builder.sh; 1735 1740 src = fetchurl { ··· 1737 1742 sha256 = "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb"; 1738 1743 }; 1739 1744 buildInputs = [pkgconfig randrproto videoproto xorgserver xproto ]; 1740 - })) // {inherit randrproto videoproto xorgserver xproto ;}; 1745 + }) // {inherit randrproto videoproto xorgserver xproto ;}; 1741 1746 1742 - xf86videovesa = (stdenv.mkDerivation ((if overrides ? xf86videovesa then overrides.xf86videovesa else x: x) { 1747 + xf86videovesa = (mkDerivation "xf86videovesa" { 1743 1748 name = "xf86-video-vesa-2.3.3"; 1744 1749 builder = ./builder.sh; 1745 1750 src = fetchurl { ··· 1747 1752 sha256 = "1y5fsg0c4bgmh1cfsbnaaf388fppyy02i7mcy9vax78flkjpb2yf"; 1748 1753 }; 1749 1754 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ]; 1750 - })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; 1755 + }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xorgserver xproto ;}; 1751 1756 1752 - xf86videovmware = (stdenv.mkDerivation ((if overrides ? xf86videovmware then overrides.xf86videovmware else x: x) { 1757 + xf86videovmware = (mkDerivation "xf86videovmware" { 1753 1758 name = "xf86-video-vmware-13.0.2"; 1754 1759 builder = ./builder.sh; 1755 1760 src = fetchurl { ··· 1757 1762 sha256 = "0m1wfsv34s4pyr5ry87yyjb2p6vmy6vyypdz5jx0sqnkx8n3vfn8"; 1758 1763 }; 1759 1764 buildInputs = [pkgconfig fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ]; 1760 - })) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; 1765 + }) // {inherit fontsproto libdrm libpciaccess randrproto renderproto videoproto libX11 libXext xextproto xineramaproto xorgserver xproto ;}; 1761 1766 1762 - xf86videovoodoo = (stdenv.mkDerivation ((if overrides ? xf86videovoodoo then overrides.xf86videovoodoo else x: x) { 1767 + xf86videovoodoo = (mkDerivation "xf86videovoodoo" { 1763 1768 name = "xf86-video-voodoo-1.2.5"; 1764 1769 builder = ./builder.sh; 1765 1770 src = fetchurl { ··· 1767 1772 sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"; 1768 1773 }; 1769 1774 buildInputs = [pkgconfig fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ]; 1770 - })) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;}; 1775 + }) // {inherit fontsproto libpciaccess randrproto renderproto xextproto xf86dgaproto xorgserver xproto ;}; 1771 1776 1772 - xf86videowsfb = (stdenv.mkDerivation ((if overrides ? xf86videowsfb then overrides.xf86videowsfb else x: x) { 1777 + xf86videowsfb = (mkDerivation "xf86videowsfb" { 1773 1778 name = "xf86-video-wsfb-0.4.0"; 1774 1779 builder = ./builder.sh; 1775 1780 src = fetchurl { ··· 1777 1782 sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p"; 1778 1783 }; 1779 1784 buildInputs = [pkgconfig xorgserver xproto ]; 1780 - })) // {inherit xorgserver xproto ;}; 1785 + }) // {inherit xorgserver xproto ;}; 1781 1786 1782 - xf86vidmodeproto = (stdenv.mkDerivation ((if overrides ? xf86vidmodeproto then overrides.xf86vidmodeproto else x: x) { 1787 + xf86vidmodeproto = (mkDerivation "xf86vidmodeproto" { 1783 1788 name = "xf86vidmodeproto-2.3.1"; 1784 1789 builder = ./builder.sh; 1785 1790 src = fetchurl { ··· 1787 1792 sha256 = "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5"; 1788 1793 }; 1789 1794 buildInputs = [pkgconfig ]; 1790 - })) // {inherit ;}; 1795 + }) // {inherit ;}; 1791 1796 1792 - xfs = (stdenv.mkDerivation ((if overrides ? xfs then overrides.xfs else x: x) { 1797 + xfs = (mkDerivation "xfs" { 1793 1798 name = "xfs-1.1.3"; 1794 1799 builder = ./builder.sh; 1795 1800 src = fetchurl { ··· 1797 1802 sha256 = "1dwnf5gncpnjsbh9bdrc665kfnclhzzcpwpfnprvrnq4mlr4mx3v"; 1798 1803 }; 1799 1804 buildInputs = [pkgconfig libXfont xproto xtrans ]; 1800 - })) // {inherit libXfont xproto xtrans ;}; 1805 + }) // {inherit libXfont xproto xtrans ;}; 1801 1806 1802 - xgamma = (stdenv.mkDerivation ((if overrides ? xgamma then overrides.xgamma else x: x) { 1807 + xgamma = (mkDerivation "xgamma" { 1803 1808 name = "xgamma-1.0.5"; 1804 1809 builder = ./builder.sh; 1805 1810 src = fetchurl { ··· 1807 1812 sha256 = "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3"; 1808 1813 }; 1809 1814 buildInputs = [pkgconfig libX11 libXxf86vm ]; 1810 - })) // {inherit libX11 libXxf86vm ;}; 1815 + }) // {inherit libX11 libXxf86vm ;}; 1811 1816 1812 - xhost = (stdenv.mkDerivation ((if overrides ? xhost then overrides.xhost else x: x) { 1817 + xhost = (mkDerivation "xhost" { 1813 1818 name = "xhost-1.0.6"; 1814 1819 builder = ./builder.sh; 1815 1820 src = fetchurl { ··· 1817 1822 sha256 = "1hlxm0is9nks1cx033s1733kkib9ivx2bxa3pb9yayqavwibkxd6"; 1818 1823 }; 1819 1824 buildInputs = [pkgconfig libX11 libXau libXmu xproto ]; 1820 - })) // {inherit libX11 libXau libXmu xproto ;}; 1825 + }) // {inherit libX11 libXau libXmu xproto ;}; 1821 1826 1822 - xineramaproto = (stdenv.mkDerivation ((if overrides ? xineramaproto then overrides.xineramaproto else x: x) { 1827 + xineramaproto = (mkDerivation "xineramaproto" { 1823 1828 name = "xineramaproto-1.2.1"; 1824 1829 builder = ./builder.sh; 1825 1830 src = fetchurl { ··· 1827 1832 sha256 = "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp"; 1828 1833 }; 1829 1834 buildInputs = [pkgconfig ]; 1830 - })) // {inherit ;}; 1835 + }) // {inherit ;}; 1831 1836 1832 - xinit = (stdenv.mkDerivation ((if overrides ? xinit then overrides.xinit else x: x) { 1837 + xinit = (mkDerivation "xinit" { 1833 1838 name = "xinit-1.3.3"; 1834 1839 builder = ./builder.sh; 1835 1840 src = fetchurl { ··· 1837 1842 sha256 = "1bq0mqy7y305g2rds1g5443f3d2kgxzafqhmiyabbmg3ws6qgckl"; 1838 1843 }; 1839 1844 buildInputs = [pkgconfig libX11 xproto ]; 1840 - })) // {inherit libX11 xproto ;}; 1845 + }) // {inherit libX11 xproto ;}; 1841 1846 1842 - xinput = (stdenv.mkDerivation ((if overrides ? xinput then overrides.xinput else x: x) { 1847 + xinput = (mkDerivation "xinput" { 1843 1848 name = "xinput-1.6.1"; 1844 1849 builder = ./builder.sh; 1845 1850 src = fetchurl { ··· 1847 1852 sha256 = "07w7zlpdhpwzzshg8q0y152cy3wl2fj7x1897glnp2la487jsqxp"; 1848 1853 }; 1849 1854 buildInputs = [pkgconfig inputproto libX11 libXext libXi libXinerama libXrandr ]; 1850 - })) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; 1855 + }) // {inherit inputproto libX11 libXext libXi libXinerama libXrandr ;}; 1851 1856 1852 - xkbcomp = (stdenv.mkDerivation ((if overrides ? xkbcomp then overrides.xkbcomp else x: x) { 1857 + xkbcomp = (mkDerivation "xkbcomp" { 1853 1858 name = "xkbcomp-1.2.4"; 1854 1859 builder = ./builder.sh; 1855 1860 src = fetchurl { ··· 1857 1862 sha256 = "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i"; 1858 1863 }; 1859 1864 buildInputs = [pkgconfig libX11 libxkbfile xproto ]; 1860 - })) // {inherit libX11 libxkbfile xproto ;}; 1865 + }) // {inherit libX11 libxkbfile xproto ;}; 1861 1866 1862 - xkbevd = (stdenv.mkDerivation ((if overrides ? xkbevd then overrides.xkbevd else x: x) { 1867 + xkbevd = (mkDerivation "xkbevd" { 1863 1868 name = "xkbevd-1.1.3"; 1864 1869 builder = ./builder.sh; 1865 1870 src = fetchurl { ··· 1867 1872 sha256 = "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm"; 1868 1873 }; 1869 1874 buildInputs = [pkgconfig libX11 libxkbfile ]; 1870 - })) // {inherit libX11 libxkbfile ;}; 1875 + }) // {inherit libX11 libxkbfile ;}; 1871 1876 1872 - xkbprint = (stdenv.mkDerivation ((if overrides ? xkbprint then overrides.xkbprint else x: x) { 1877 + xkbprint = (mkDerivation "xkbprint" { 1873 1878 name = "xkbprint-1.0.3"; 1874 1879 builder = ./builder.sh; 1875 1880 src = fetchurl { ··· 1877 1882 sha256 = "1h4jb3gjrbjp79h5gcgkjvdxykcy2bmq03smpls820c8wnw6v17s"; 1878 1883 }; 1879 1884 buildInputs = [pkgconfig libX11 libxkbfile ]; 1880 - })) // {inherit libX11 libxkbfile ;}; 1885 + }) // {inherit libX11 libxkbfile ;}; 1881 1886 1882 - xkbutils = (stdenv.mkDerivation ((if overrides ? xkbutils then overrides.xkbutils else x: x) { 1887 + xkbutils = (mkDerivation "xkbutils" { 1883 1888 name = "xkbutils-1.0.4"; 1884 1889 builder = ./builder.sh; 1885 1890 src = fetchurl { ··· 1887 1892 sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj"; 1888 1893 }; 1889 1894 buildInputs = [pkgconfig inputproto libX11 libXaw xproto libXt ]; 1890 - })) // {inherit inputproto libX11 libXaw xproto libXt ;}; 1895 + }) // {inherit inputproto libX11 libXaw xproto libXt ;}; 1891 1896 1892 - xkeyboardconfig = (stdenv.mkDerivation ((if overrides ? xkeyboardconfig then overrides.xkeyboardconfig else x: x) { 1897 + xkeyboardconfig = (mkDerivation "xkeyboardconfig" { 1893 1898 name = "xkeyboard-config-2.11"; 1894 1899 builder = ./builder.sh; 1895 1900 src = fetchurl { ··· 1897 1902 sha256 = "0xkdyyi759hzls42hp4j3q2lc35n4j6b2g44ilx5qarci5h584p7"; 1898 1903 }; 1899 1904 buildInputs = [pkgconfig libX11 xproto ]; 1900 - })) // {inherit libX11 xproto ;}; 1905 + }) // {inherit libX11 xproto ;}; 1901 1906 1902 - xkill = (stdenv.mkDerivation ((if overrides ? xkill then overrides.xkill else x: x) { 1907 + xkill = (mkDerivation "xkill" { 1903 1908 name = "xkill-1.0.4"; 1904 1909 builder = ./builder.sh; 1905 1910 src = fetchurl { ··· 1907 1912 sha256 = "0bl1ky8ps9jg842j4mnmf4zbx8nkvk0h77w7bqjlpwij9wq2mvw8"; 1908 1913 }; 1909 1914 buildInputs = [pkgconfig libX11 libXmu xproto ]; 1910 - })) // {inherit libX11 libXmu xproto ;}; 1915 + }) // {inherit libX11 libXmu xproto ;}; 1911 1916 1912 - xlsatoms = (stdenv.mkDerivation ((if overrides ? xlsatoms then overrides.xlsatoms else x: x) { 1917 + xlsatoms = (mkDerivation "xlsatoms" { 1913 1918 name = "xlsatoms-1.1.1"; 1914 1919 builder = ./builder.sh; 1915 1920 src = fetchurl { ··· 1917 1922 sha256 = "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv"; 1918 1923 }; 1919 1924 buildInputs = [pkgconfig libxcb ]; 1920 - })) // {inherit libxcb ;}; 1925 + }) // {inherit libxcb ;}; 1921 1926 1922 - xlsclients = (stdenv.mkDerivation ((if overrides ? xlsclients then overrides.xlsclients else x: x) { 1927 + xlsclients = (mkDerivation "xlsclients" { 1923 1928 name = "xlsclients-1.1.3"; 1924 1929 builder = ./builder.sh; 1925 1930 src = fetchurl { ··· 1927 1932 sha256 = "0g9x7rrggs741x9xwvv1k9qayma980d88nhdqw7j3pn3qvy6d5jx"; 1928 1933 }; 1929 1934 buildInputs = [pkgconfig libxcb ]; 1930 - })) // {inherit libxcb ;}; 1935 + }) // {inherit libxcb ;}; 1931 1936 1932 - xmessage = (stdenv.mkDerivation ((if overrides ? xmessage then overrides.xmessage else x: x) { 1937 + xmessage = (mkDerivation "xmessage" { 1933 1938 name = "xmessage-1.0.4"; 1934 1939 builder = ./builder.sh; 1935 1940 src = fetchurl { ··· 1937 1942 sha256 = "0s5bjlpxnmh8sxx6nfg9m0nr32r1sr3irr71wsnv76s33i34ppxw"; 1938 1943 }; 1939 1944 buildInputs = [pkgconfig libXaw libXt ]; 1940 - })) // {inherit libXaw libXt ;}; 1945 + }) // {inherit libXaw libXt ;}; 1941 1946 1942 - xmodmap = (stdenv.mkDerivation ((if overrides ? xmodmap then overrides.xmodmap else x: x) { 1947 + xmodmap = (mkDerivation "xmodmap" { 1943 1948 name = "xmodmap-1.0.8"; 1944 1949 builder = ./builder.sh; 1945 1950 src = fetchurl { ··· 1947 1952 sha256 = "1hwzm54m4ng09ls9i4bq0x84zbyhamgzasgrvhxxp8jqk34f7qpg"; 1948 1953 }; 1949 1954 buildInputs = [pkgconfig libX11 xproto ]; 1950 - })) // {inherit libX11 xproto ;}; 1955 + }) // {inherit libX11 xproto ;}; 1951 1956 1952 - xorgcffiles = (stdenv.mkDerivation ((if overrides ? xorgcffiles then overrides.xorgcffiles else x: x) { 1957 + xorgcffiles = (mkDerivation "xorgcffiles" { 1953 1958 name = "xorg-cf-files-1.0.5"; 1954 1959 builder = ./builder.sh; 1955 1960 src = fetchurl { ··· 1957 1962 sha256 = "1m3ypq0xcy46ghxc0svl1rbhpy3zvgmy0aa2mn7w7v7d8d8bh8zd"; 1958 1963 }; 1959 1964 buildInputs = [pkgconfig ]; 1960 - })) // {inherit ;}; 1965 + }) // {inherit ;}; 1961 1966 1962 - xorgdocs = (stdenv.mkDerivation ((if overrides ? xorgdocs then overrides.xorgdocs else x: x) { 1967 + xorgdocs = (mkDerivation "xorgdocs" { 1963 1968 name = "xorg-docs-1.7"; 1964 1969 builder = ./builder.sh; 1965 1970 src = fetchurl { ··· 1967 1972 sha256 = "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr"; 1968 1973 }; 1969 1974 buildInputs = [pkgconfig ]; 1970 - })) // {inherit ;}; 1975 + }) // {inherit ;}; 1971 1976 1972 - xorgserver = (stdenv.mkDerivation ((if overrides ? xorgserver then overrides.xorgserver else x: x) { 1977 + xorgserver = (mkDerivation "xorgserver" { 1973 1978 name = "xorg-server-1.14.7"; 1974 1979 builder = ./builder.sh; 1975 1980 src = fetchurl { ··· 1977 1982 sha256 = "07s54g9q1bry1050dsa7x6hy55yjvq9sxs6ks89pc8l6mnk6zxpw"; 1978 1983 }; 1979 1984 buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; 1980 - })) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; 1985 + }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; 1986 + 1987 + # TODO: 1988 + # With the current state of ./generate-expr-from-tarballs.pl, 1989 + # this will get overwritten when next invoked. 1990 + # Could add a special case to ./generate-expr-from-tarballs.pl, 1991 + # or perhaps there's a cleaner solution. 1992 + #xquartz = (mkDerivation "xquartz" { 1993 + # name = "xorg-server-1.14.6"; 1994 + # builder = ./builder.sh; 1995 + # src = fetchurl { 1996 + # url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2; 1997 + # sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8"; 1998 + # }; 1999 + # buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ]; 2000 + #}) // {inherit renderproto libdrm openssl libX11 libXau libXaw libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt libXv ;}; 1981 2001 1982 - xorgsgmldoctools = (stdenv.mkDerivation ((if overrides ? xorgsgmldoctools then overrides.xorgsgmldoctools else x: x) { 2002 + xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" { 1983 2003 name = "xorg-sgml-doctools-1.11"; 1984 2004 builder = ./builder.sh; 1985 2005 src = fetchurl { ··· 1987 2007 sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777"; 1988 2008 }; 1989 2009 buildInputs = [pkgconfig ]; 1990 - })) // {inherit ;}; 2010 + }) // {inherit ;}; 1991 2011 1992 - xpr = (stdenv.mkDerivation ((if overrides ? xpr then overrides.xpr else x: x) { 2012 + xpr = (mkDerivation "xpr" { 1993 2013 name = "xpr-1.0.4"; 1994 2014 builder = ./builder.sh; 1995 2015 src = fetchurl { ··· 1997 2017 sha256 = "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy"; 1998 2018 }; 1999 2019 buildInputs = [pkgconfig libX11 libXmu xproto ]; 2000 - })) // {inherit libX11 libXmu xproto ;}; 2020 + }) // {inherit libX11 libXmu xproto ;}; 2001 2021 2002 - xprop = (stdenv.mkDerivation ((if overrides ? xprop then overrides.xprop else x: x) { 2022 + xprop = (mkDerivation "xprop" { 2003 2023 name = "xprop-1.2.2"; 2004 2024 builder = ./builder.sh; 2005 2025 src = fetchurl { ··· 2007 2027 sha256 = "1ilvhqfjcg6f1hqahjkp8qaay9rhvmv2blvj3w9asraq0aqqivlv"; 2008 2028 }; 2009 2029 buildInputs = [pkgconfig libX11 xproto ]; 2010 - })) // {inherit libX11 xproto ;}; 2030 + }) // {inherit libX11 xproto ;}; 2011 2031 2012 - xproto = (stdenv.mkDerivation ((if overrides ? xproto then overrides.xproto else x: x) { 2032 + xproto = (mkDerivation "xproto" { 2013 2033 name = "xproto-7.0.26"; 2014 2034 builder = ./builder.sh; 2015 2035 src = fetchurl { ··· 2017 2037 sha256 = "0ksi8vhfd916bx2f3xlyhn6azf6cvvzrsdja26haa1cqfp0n4qb3"; 2018 2038 }; 2019 2039 buildInputs = [pkgconfig ]; 2020 - })) // {inherit ;}; 2040 + }) // {inherit ;}; 2021 2041 2022 - xrandr = (stdenv.mkDerivation ((if overrides ? xrandr then overrides.xrandr else x: x) { 2042 + xrandr = (mkDerivation "xrandr" { 2023 2043 name = "xrandr-1.4.2"; 2024 2044 builder = ./builder.sh; 2025 2045 src = fetchurl { ··· 2027 2047 sha256 = "1g4hnj53wknsjwiqivyy3jl4qw7jwrpncz7d5p2z29zq5zlnxrxj"; 2028 2048 }; 2029 2049 buildInputs = [pkgconfig libX11 xproto libXrandr libXrender ]; 2030 - })) // {inherit libX11 xproto libXrandr libXrender ;}; 2050 + }) // {inherit libX11 xproto libXrandr libXrender ;}; 2031 2051 2032 - xrdb = (stdenv.mkDerivation ((if overrides ? xrdb then overrides.xrdb else x: x) { 2052 + xrdb = (mkDerivation "xrdb" { 2033 2053 name = "xrdb-1.1.0"; 2034 2054 builder = ./builder.sh; 2035 2055 src = fetchurl { ··· 2037 2057 sha256 = "0nsnr90wazcdd50nc5dqswy0bmq6qcj14nnrhyi7rln9pxmpp0kk"; 2038 2058 }; 2039 2059 buildInputs = [pkgconfig libX11 libXmu xproto ]; 2040 - })) // {inherit libX11 libXmu xproto ;}; 2060 + }) // {inherit libX11 libXmu xproto ;}; 2041 2061 2042 - xrefresh = (stdenv.mkDerivation ((if overrides ? xrefresh then overrides.xrefresh else x: x) { 2062 + xrefresh = (mkDerivation "xrefresh" { 2043 2063 name = "xrefresh-1.0.5"; 2044 2064 builder = ./builder.sh; 2045 2065 src = fetchurl { ··· 2047 2067 sha256 = "1mlinwgvql6s1rbf46yckbfr9j22d3c3z7jx3n6ix7ca18dnf4rj"; 2048 2068 }; 2049 2069 buildInputs = [pkgconfig libX11 xproto ]; 2050 - })) // {inherit libX11 xproto ;}; 2070 + }) // {inherit libX11 xproto ;}; 2051 2071 2052 - xset = (stdenv.mkDerivation ((if overrides ? xset then overrides.xset else x: x) { 2072 + xset = (mkDerivation "xset" { 2053 2073 name = "xset-1.2.3"; 2054 2074 builder = ./builder.sh; 2055 2075 src = fetchurl { ··· 2057 2077 sha256 = "0qw0iic27bz3yz2wynf1gxs70hhkcf9c4jrv7zhlg1mq57xz90j3"; 2058 2078 }; 2059 2079 buildInputs = [pkgconfig libX11 libXext libXmu xproto libXxf86misc ]; 2060 - })) // {inherit libX11 libXext libXmu xproto libXxf86misc ;}; 2080 + }) // {inherit libX11 libXext libXmu xproto libXxf86misc ;}; 2061 2081 2062 - xsetroot = (stdenv.mkDerivation ((if overrides ? xsetroot then overrides.xsetroot else x: x) { 2082 + xsetroot = (mkDerivation "xsetroot" { 2063 2083 name = "xsetroot-1.1.0"; 2064 2084 builder = ./builder.sh; 2065 2085 src = fetchurl { ··· 2067 2087 sha256 = "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8"; 2068 2088 }; 2069 2089 buildInputs = [pkgconfig libX11 xbitmaps libXcursor libXmu ]; 2070 - })) // {inherit libX11 xbitmaps libXcursor libXmu ;}; 2090 + }) // {inherit libX11 xbitmaps libXcursor libXmu ;}; 2071 2091 2072 - xtrans = (stdenv.mkDerivation ((if overrides ? xtrans then overrides.xtrans else x: x) { 2092 + xtrans = (mkDerivation "xtrans" { 2073 2093 name = "xtrans-1.3.4"; 2074 2094 builder = ./builder.sh; 2075 2095 src = fetchurl { ··· 2077 2097 sha256 = "0fjq9xa37k1czkidj3c5sads51gibrjvrxz9ag3hh9fmxzilwk85"; 2078 2098 }; 2079 2099 buildInputs = [pkgconfig ]; 2080 - })) // {inherit ;}; 2100 + }) // {inherit ;}; 2081 2101 2082 - xvinfo = (stdenv.mkDerivation ((if overrides ? xvinfo then overrides.xvinfo else x: x) { 2102 + xvinfo = (mkDerivation "xvinfo" { 2083 2103 name = "xvinfo-1.1.2"; 2084 2104 builder = ./builder.sh; 2085 2105 src = fetchurl { ··· 2087 2107 sha256 = "1qsh7fszi727l3vwlaf9pb7bpikdv15smrx5qhlgg3kqzl7xklzf"; 2088 2108 }; 2089 2109 buildInputs = [pkgconfig libX11 xproto libXv ]; 2090 - })) // {inherit libX11 xproto libXv ;}; 2110 + }) // {inherit libX11 xproto libXv ;}; 2091 2111 2092 - xwd = (stdenv.mkDerivation ((if overrides ? xwd then overrides.xwd else x: x) { 2112 + xwd = (mkDerivation "xwd" { 2093 2113 name = "xwd-1.0.6"; 2094 2114 builder = ./builder.sh; 2095 2115 src = fetchurl { ··· 2097 2117 sha256 = "0ybx48agdvjp9lgwvcw79r1x6jbqbyl3fliy3i5xwy4d4si9dcrv"; 2098 2118 }; 2099 2119 buildInputs = [pkgconfig libX11 xproto ]; 2100 - })) // {inherit libX11 xproto ;}; 2120 + }) // {inherit libX11 xproto ;}; 2101 2121 2102 - xwininfo = (stdenv.mkDerivation ((if overrides ? xwininfo then overrides.xwininfo else x: x) { 2122 + xwininfo = (mkDerivation "xwininfo" { 2103 2123 name = "xwininfo-1.1.3"; 2104 2124 builder = ./builder.sh; 2105 2125 src = fetchurl { ··· 2107 2127 sha256 = "1y1zn8ijqslb5lfpbq4bb78kllhch8in98ps7n8fg3dxjpmb13i1"; 2108 2128 }; 2109 2129 buildInputs = [pkgconfig libX11 libxcb xproto ]; 2110 - })) // {inherit libX11 libxcb xproto ;}; 2130 + }) // {inherit libX11 libxcb xproto ;}; 2111 2131 2112 - xwud = (stdenv.mkDerivation ((if overrides ? xwud then overrides.xwud else x: x) { 2132 + xwud = (mkDerivation "xwud" { 2113 2133 name = "xwud-1.0.4"; 2114 2134 builder = ./builder.sh; 2115 2135 src = fetchurl { ··· 2117 2137 sha256 = "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn"; 2118 2138 }; 2119 2139 buildInputs = [pkgconfig libX11 xproto ]; 2120 - })) // {inherit libX11 xproto ;}; 2140 + }) // {inherit libX11 xproto ;}; 2121 2141 2122 2142 }; in xorg
+7 -2
pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl
··· 230 230 231 231 let 232 232 233 + mkDerivation = name: attrs: 234 + let newAttrs = (overrides."\${name}" or (x: x)) attrs; 235 + stdenv = newAttrs.stdenv or args.stdenv; 236 + in stdenv.mkDerivation (removeAttrs newAttrs [ "stdenv" ]); 237 + 233 238 overrides = import ./overrides.nix {inherit args xorg;}; 234 239 235 240 xorg = rec { ··· 261 266 $extraAttrs = "" unless defined $extraAttrs; 262 267 263 268 print OUT <<EOF 264 - $pkg = (stdenv.mkDerivation ((if overrides ? $pkg then overrides.$pkg else x: x) { 269 + $pkg = (mkDerivation "$pkg" { 265 270 name = "$pkgNames{$pkg}"; 266 271 builder = ./builder.sh; 267 272 src = fetchurl { ··· 269 274 sha256 = "$pkgHashes{$pkg}"; 270 275 }; 271 276 buildInputs = [pkgconfig $inputs];$extraAttrs 272 - })) // {inherit $inputs;}; 277 + }) // {inherit $inputs;}; 273 278 274 279 EOF 275 280 }
+103 -19
pkgs/servers/x11/xorg/overrides.nix
··· 1 1 { args, xorg }: 2 2 3 3 let 4 + inherit (args) stdenv; 5 + inherit (stdenv) lib isDarwin; 6 + inherit (lib) overrideDerivation; 7 + 4 8 setMalloc0ReturnsNullCrossCompiling = '' 5 9 if test -n "$crossConfig"; then 6 10 configureFlags="$configureFlags --enable-malloc0returnsnull"; ··· 75 79 76 80 libXfont = attrs: attrs // { 77 81 propagatedBuildInputs = [ args.freetype ]; # propagate link reqs. like bzip2 82 + # prevents "misaligned_stack_error_entering_dyld_stub_binder" 83 + configureFlags = lib.optionals isDarwin [ 84 + "CFLAGS=-O0" 85 + ]; 78 86 }; 87 + 79 88 80 89 libXxf86vm = attrs: attrs // { 81 90 preConfigure = setMalloc0ReturnsNullCrossCompiling; ··· 219 228 # 2: I think pkgconfig/ is supposed to be in /lib/ 220 229 postInstall = '' 221 230 ln -s share "$out/etc" 222 - mkdir "$out/lib" && ln -s ../share/pkgconfig "$out/lib/" 231 + mkdir -p "$out/lib" && ln -s ../share/pkgconfig "$out/lib/" 223 232 ''; 224 233 }; 225 234 226 - xorgserver = with xorg; attrs: attrs // { 227 - configureFlags = [ 228 - "--enable-xcsecurity" # enable SECURITY extension 229 - "--with-default-font-path= " # there were only paths containing "${prefix}", 230 - # and there are no fonts in this package anyway 231 - ]; 232 - patches = [ ./xorgserver-xkbcomp-path.patch ]; 233 - buildInputs = attrs.buildInputs ++ [ xtrans ]; 234 - propagatedBuildInputs = 235 - [ args.zlib args.udev args.mesa args.dbus.libs 235 + xorgserver = with xorg; attrs: attrs // 236 + (let 237 + version = (builtins.parseDrvName attrs.name).version; 238 + commonBuildInputs = attrs.buildInputs ++ [ xtrans ]; 239 + commonPropagatedBuildInputs = [ 240 + args.zlib args.mesa args.dbus.libs 236 241 xf86bigfontproto glproto xf86driproto 237 242 compositeproto scrnsaverproto resourceproto 238 243 xf86dgaproto ··· 242 247 libpciaccess inputproto xextproto randrproto renderproto 243 248 dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto 244 249 ]; 245 - postInstall = 246 - '' 247 - rm -fr $out/share/X11/xkb/compiled 248 - ln -s /var/tmp $out/share/X11/xkb/compiled 249 - ''; 250 - passthru.version = (builtins.parseDrvName attrs.name).version; # needed by virtualbox guest additions 251 - }; 250 + commonPatches = [ ./xorgserver-xkbcomp-path.patch ]; 251 + # XQuartz requires two compilations: the first to get X / XQuartz, 252 + # and the second to get Xvfb, Xnest, etc. 253 + darwinOtherX = overrideDerivation xorgserver (oldAttrs: { 254 + stdenv = args.stdenv; 255 + configureFlags = oldAttrs.configureFlags ++ [ 256 + "--disable-xquartz" 257 + "--enable-xorg" 258 + "--enable-xvfb" 259 + "--enable-xnest" 260 + "--enable-kdrive" 261 + ]; 262 + postInstall = ":"; # prevent infinite recursion 263 + }); 264 + in 265 + if (!isDarwin) 266 + then { 267 + buildInputs = commonBuildInputs; 268 + propagatedBuildInputs = commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ 269 + args.udev 270 + ]; 271 + patches = commonPatches; 272 + configureFlags = [ 273 + "--enable-xcsecurity" # enable SECURITY extension 274 + "--with-default-font-path=" # there were only paths containing "${prefix}", 275 + # and there are no fonts in this package anyway 276 + ]; 277 + postInstall = '' 278 + rm -fr $out/share/X11/xkb/compiled 279 + ln -s /var/tmp $out/share/X11/xkb/compiled 280 + ''; 281 + passthru.version = version; # needed by virtualbox guest additions 282 + } else { 283 + stdenv = args.clangStdenv; 284 + name = "xorg-server-1.14.6"; 285 + src = args.fetchurl { 286 + url = mirror://xorg/individual/xserver/xorg-server-1.14.6.tar.bz2; 287 + sha256 = "0c57vp1z0p38dj5gfipkmlw6bvbz1mrr0sb3sbghdxxdyq4kzcz8"; 288 + }; 289 + buildInputs = commonBuildInputs; 290 + propagatedBuildInputs = commonPropagatedBuildInputs ++ [ 291 + libAppleWM applewmproto 292 + ]; 293 + patches = commonPatches ++ [ 294 + ./darwin/0001-XQuartz-Ensure-we-wait-for-the-server-thread-to-term.patch 295 + ./darwin/5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch 296 + ./darwin/5001-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch 297 + ./darwin/5002-fb-Revert-fb-changes-that-broke-XQuartz.patch 298 + ./darwin/5003-fb-Revert-fb-changes-that-broke-XQuartz.patch 299 + ./darwin/5004-Use-old-miTrapezoids-and-miTriangles-routines.patch 300 + ./darwin/private-extern.patch 301 + ./darwin/bundle_main.patch 302 + ./darwin/stub.patch 303 + ./darwin/function-pointer-test.patch 304 + ]; 305 + configureFlags = [ 306 + # note: --enable-xquartz is auto 307 + "CPPFLAGS=-I${./darwin/dri}" 308 + "--with-default-font-path=" 309 + "--with-apple-application-name=XQuartz" 310 + "--with-apple-applications-dir=\${out}/Applications" 311 + "--with-bundle-id-prefix=org.nixos.xquartz" 312 + "--with-sha1=CommonCrypto" 313 + ]; 314 + preConfigure = '' 315 + ensureDir $out/Applications 316 + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error" 317 + ''; 318 + postInstall = '' 319 + rm -fr $out/share/X11/xkb/compiled 320 + ln -s /var/tmp $out/share/X11/xkb/compiled 252 321 322 + cp -rT ${darwinOtherX}/bin $out/bin 323 + rm -f $out/bin/X 324 + ln -s Xquartz $out/bin/X 325 + 326 + cp ${darwinOtherX}/share/man -rT $out/share/man 327 + '' ; 328 + passthru.version = version; 329 + }); 253 330 254 331 lndir = attrs: attrs // { 255 332 preConfigure = '' ··· 272 349 }; 273 350 274 351 xinit = attrs: attrs // { 275 - configureFlags = "--with-xserver=${xorg.xorgserver}/bin/X"; 352 + stdenv = if isDarwin then args.clangStdenv else stdenv; 353 + configureFlags = [ 354 + "--with-xserver=${xorg.xorgserver}/bin/X" 355 + ] ++ lib.optionals isDarwin [ 356 + "--with-bundle-id-prefix=org.nixos.xquartz" 357 + "--with-launchdaemons-dir=\${out}/LaunchDaemons" 358 + "--with-launchagents-dir=\${out}/LaunchAgents" 359 + ]; 276 360 propagatedBuildInputs = [ xorg.xauth ]; 277 361 prePatch = '' 278 362 sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp
+20
pkgs/servers/x11/xquartz/X11
··· 1 + #!/bin/bash 2 + 3 + set "$(dirname "$0")"/X11.bin "${@}" 4 + 5 + export XQUARTZ_DEFAULT_CLIENT="@DEFAULT_CLIENT@" 6 + export XQUARTZ_DEFAULT_SHELL="@DEFAULT_SHELL@" 7 + export XQUARTZ_DEFAULT_STARTX="@DEFAULT_STARTX@" 8 + export FONTCONFIG_FILE="@FONTCONFIG_FILE@" 9 + 10 + if [ -x ~/.x11run ]; then 11 + exec ~/.x11run "${@}" 12 + fi 13 + 14 + case $(basename "${SHELL}") in 15 + bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;; 16 + ksh|sh|zsh) exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;; 17 + csh|tcsh) exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;; 18 + es|rc) exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;; 19 + *) exec "${@}" ;; 20 + esac
+187
pkgs/servers/x11/xquartz/default.nix
··· 1 + { stdenv, lib, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, substituteAll, xterm, makeWrapper, ruby 2 + , openssl, quartz-wm, fontconfig, xkeyboard_config, xlsfonts, xfontsel 3 + , ttf_bitstream_vera, freefont_ttf, liberation_ttf 4 + , shell ? "${bashInteractive}/bin/bash" 5 + }: 6 + 7 + # ------------ 8 + # Installation 9 + # ------------ 10 + # 11 + # First, assuming you've previously installed XQuartz from macosforge.com, 12 + # unload and remove the existing launch agents: 13 + # 14 + # $ sudo launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist 15 + # $ sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist 16 + # $ sudo rm /Library/LaunchAgents/org.macosforge.xquartz.startx.plist 17 + # $ sudo rm /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist 18 + # 19 + # (You will need to log out for the above changes to take effect.) 20 + # 21 + # Then install xquartz from nixpkgs: 22 + # 23 + # $ nix-env -i xquartz 24 + # $ xquartz-install 25 + # 26 + # You'll also want to add the following to your shell's profile (after you 27 + # source nix.sh, so $NIX_LINK points to your user profile): 28 + # 29 + # if [ "$(uname)" = "Darwin" -a -n "$NIX_LINK" -a -f $NIX_LINK/etc/X11/fonts.conf ]; then 30 + # export FONTCONFIG_FILE=$NIX_LINK/etc/X11/fonts.conf 31 + # fi 32 + 33 + # A note about dependencies: 34 + # Xquartz wants to exec XQuartz.app, XQuartz.app wants to exec xstart, and 35 + # xstart wants to exec Xquartz, so we must bundle all three to prevent a cycle. 36 + # Coincidentally, this also makes it trivial to install launch agents/daemons 37 + # that point into the user's profile. 38 + 39 + let 40 + shellEscape = x: "'${lib.replaceChars ["'"] [("'\\'" + "'")] x}'"; 41 + installer = writeScript "xquartz-install" '' 42 + NIX_LINK=$HOME/.nix-profile 43 + 44 + tmpdir=$(/usr/bin/mktemp -d $TMPDIR/xquartz-installer-XXXXXXXX) 45 + agentName=org.nixos.xquartz.startx.plist 46 + daemonName=org.nixos.xquartz.privileged_startx.plist 47 + sed=${gnused}/bin/sed 48 + 49 + cp ${./org.nixos.xquartz.startx.plist} $tmpdir/$agentName 50 + $sed -i "s|@LAUNCHD_STARTX@|$NIX_LINK/etc/X11/xinit/launchd_startx|" $tmpdir/$agentName 51 + $sed -i "s|@STARTX@|$NIX_LINK/bin/startx|" $tmpdir/$agentName 52 + $sed -i "s|@XQUARTZ@|$NIX_LINK/bin/Xquartz|" $tmpdir/$agentName 53 + 54 + cp ${./org.nixos.xquartz.privileged_startx.plist} $tmpdir/$daemonName 55 + $sed -i "s|@PRIVILEGED_STARTX@|$NIX_LINK/lib/X11/xinit/privileged_startx|" $tmpdir/$daemonName 56 + $sed -i "s|@PRIVILEGED_STARTX_D@|$NIX_LINK/lib/X11/xinit/privileged_startx.d|" $tmpdir/$daemonName 57 + 58 + sudo cp $tmpdir/$agentName /Library/LaunchAgents/$agentName 59 + sudo cp $tmpdir/$daemonName /Library/LaunchDaemons/$daemonName 60 + sudo launchctl load -w /Library/LaunchAgents/$agentName 61 + sudo launchctl load -w /Library/LaunchDaemons/$daemonName 62 + ''; 63 + fontDirs = [ 64 + xorg.fontbhttf 65 + xorg.fontbhlucidatypewriter100dpi 66 + xorg.fontbhlucidatypewriter75dpi 67 + ttf_bitstream_vera 68 + freefont_ttf 69 + liberation_ttf 70 + xorg.fontbh100dpi 71 + xorg.fontmiscmisc 72 + xorg.fontcursormisc 73 + ]; 74 + fontsConf = makeFontsConf { 75 + fontDirectories = fontDirs ++ [ 76 + "/Library/Fonts" 77 + "~/Library/Fonts" 78 + ]; 79 + }; 80 + fonts = import ./system-fonts.nix { 81 + inherit stdenv xorg fontDirs; 82 + }; 83 + # any X related programs expected to be available via $PATH 84 + env = buildEnv { 85 + name = "xquartz-env"; 86 + pathsToLink = [ "/bin" ]; 87 + paths = with xorg; [ 88 + # non-xorg 89 + quartz-wm xterm fontconfig 90 + # xorg 91 + xlsfonts xfontsel 92 + bdftopcf fontutil iceauth libXpm lndir luit makedepend mkfontdir 93 + mkfontscale sessreg setxkbmap smproxy twm x11perf xauth xbacklight xclock 94 + xcmsdb xcursorgen xdm xdpyinfo xdriinfo xev xeyes xfs xgamma xhost 95 + xinput xkbcomp xkbevd xkbutils xkill xlsatoms xlsclients xmessage xmodmap 96 + xpr xprop xrandr xrdb xrefresh xset xsetroot xvinfo xwd xwininfo xwud 97 + ]; 98 + }; 99 + in stdenv.mkDerivation { 100 + name = "xquartz"; 101 + buildInputs = [ ruby makeWrapper ]; 102 + unpackPhase = "sourceRoot=."; 103 + buildPhase = ":"; 104 + installPhase = '' 105 + cp -rT ${xorg.xinit} $out 106 + chmod -R u+w $out 107 + cp -rT ${xorg.xorgserver} $out 108 + chmod -R u+w $out 109 + 110 + cp ${installer} $out/bin/xquartz-install 111 + 112 + rm -r $out/LaunchAgents 113 + 114 + fontsConfPath=$out/etc/X11/fonts.conf 115 + cp ${fontsConf} $fontsConfPath 116 + 117 + cp ${./startx} $out/bin/startx 118 + substituteInPlace $out/bin/startx \ 119 + --replace "@PATH@" "$out/bin:${env}" \ 120 + --replace "@XAUTH@" "${xorg.xauth}/bin/xauth" \ 121 + --replace "@FONT_CACHE@" "$out/bin/font_cache" \ 122 + --replace "@PRIVILEGED_STARTX@" "$out/lib/X11/xinit/privileged_startx" \ 123 + --replace "@DEFAULT_SERVER@" "$out/bin/Xquartz" \ 124 + --replace "@DEFAULT_CLIENT@" "${xterm}/bin/xterm" \ 125 + --replace "@XINIT@" "$out/bin/xinit" \ 126 + --replace "@XINITRC@" "$out/etc/X11/xinit/xinitrc" \ 127 + --replace "@XKEYBOARD_CONFIG@" "${xkeyboard_config}/etc/X11/xkb" \ 128 + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" 129 + 130 + wrapProgram $out/bin/Xquartz \ 131 + --set XQUARTZ_X11 $out/Applications/XQuartz.app/Contents/MacOS/X11 \ 132 + --set XKB_BINDIR "${xorg.xkbcomp}/bin" 133 + 134 + defaultStartX="$out/bin/startx -- $out/bin/Xquartz" 135 + 136 + ruby ${./patch_plist.rb} \ 137 + ${shellEscape (builtins.toXML { 138 + XQUARTZ_DEFAULT_CLIENT = "${xterm}/bin/xterm"; 139 + XQUARTZ_DEFAULT_SHELL = "${shell}"; 140 + XQUARTZ_DEFAULT_STARTX = "@STARTX@"; 141 + FONTCONFIG_FILE = "@FONTCONFIG_FILE@"; 142 + XKB_BINDIR = "${xorg.xkbcomp}/bin"; 143 + })} \ 144 + $out/Applications/XQuartz.app/Contents/Info.plist 145 + substituteInPlace $out/Applications/XQuartz.app/Contents/Info.plist \ 146 + --replace "@STARTX@" "$defaultStartX" \ 147 + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" 148 + 149 + rm $out/lib/X11/xinit/privileged_startx.d/* 150 + cp ${./privileged} $out/lib/X11/xinit/privileged_startx.d/privileged 151 + substituteInPlace $out/lib/X11/xinit/privileged_startx.d/privileged \ 152 + --replace "@PATH@" "$out/bin:${env}" \ 153 + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" \ 154 + --replace "@FONT_CACHE@" "$out/bin/font_cache" 155 + 156 + cp ${./font_cache} $out/bin/font_cache 157 + substituteInPlace $out/bin/font_cache \ 158 + --replace "@PATH@" "$out/bin:${env}" \ 159 + --replace "@ENCODINGSDIR@" "${xorg.encodings}/share/fonts/X11/encodings" \ 160 + --replace "@MKFONTDIR@" "${xorg.mkfontdir}/bin/mkfontdir" \ 161 + --replace "@MKFONTSCALE@" "${xorg.mkfontscale}/bin/mkfontscale" \ 162 + --replace "@FC_CACHE@" "${fontconfig}/bin/fc-cache" \ 163 + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" 164 + 165 + cp ${./xinitrc} $out/etc/X11/xinit/xinitrc 166 + substituteInPlace $out/etc/X11/xinit/xinitrc \ 167 + --replace "@PATH@" "$out/bin:${env}" \ 168 + --replace "@XSET@" "${xorg.xset}/bin/xset" \ 169 + --replace "@XMODMAP@" "${xorg.xmodmap}/bin/xmodmap" \ 170 + --replace "@XRDB@" "${xorg.xrdb}/bin/xrdb" \ 171 + --replace "@SYSTEM_FONTS@" "${fonts}/share/X11-fonts/" \ 172 + --replace "@QUARTZ_WM@" "${quartz-wm}/bin/quartz-wm" \ 173 + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" 174 + 175 + cp ${./X11} $out/Applications/XQuartz.app/Contents/MacOS/X11 176 + substituteInPlace $out/Applications/XQuartz.app/Contents/MacOS/X11 \ 177 + --replace "@DEFAULT_SHELL@" "${shell}" \ 178 + --replace "@DEFAULT_STARTX@" "$defaultStartX" \ 179 + --replace "@DEFAULT_CLIENT@" "${xterm}/bin/xterm" \ 180 + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" 181 + ''; 182 + meta = with lib; { 183 + platforms = platforms.darwin; 184 + maintainers = with maintainers; [ cstrahan ]; 185 + license = licenses.mit; 186 + }; 187 + }
+240
pkgs/servers/x11/xquartz/font_cache
··· 1 + #!/bin/bash 2 + 3 + export PATH=@PATH@:$PATH 4 + 5 + export FONTCONFIG_FILE="@FONTCONFIG_FILE@" 6 + ENCODINGSDIR="@ENCODINGSDIR@" 7 + FC_LOCKFILE="" 8 + 9 + # Are we caching system fonts or user fonts? 10 + system=0 11 + 12 + # Are we including OSX font dirs ({/,~/,/System/}Library/Fonts) 13 + osxfonts=1 14 + 15 + # Do we want to force a recache? 16 + force=0 17 + 18 + # How noisy are we? 19 + verbose=0 20 + 21 + # Check if the data in the given directory is newer than its cache 22 + check_dirty() { 23 + local dir=$1 24 + local fontfiles="" 25 + local retval=1 26 + 27 + # If the dir does not exist, we just exit 28 + if [[ ! -d "${dir}" ]]; then 29 + return 1 30 + fi 31 + 32 + # Create a list of all files in the dir 33 + # Filter out config / cache files. Ugly... counting down the day until 34 + # xfs finally goes away 35 + fontfiles="$(find ${dir}/ -maxdepth 1 -type f | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')" 36 + 37 + # Fonts were deleted (or never there). Kill off the caches 38 + if [[ -z "${fontfiles}" ]] ; then 39 + local f 40 + for f in "${dir}"/fonts.* "${dir}"/encodings.dir; do 41 + if [[ -f ${f} ]] ; then 42 + rm -f "${f}" 43 + fi 44 + done 45 + return 1 46 + fi 47 + 48 + # Force a recache 49 + if [[ ${force} == 1 ]] ; then 50 + retval=0 51 + fi 52 + 53 + # If we don't have our caches, we are dirty 54 + if [[ ! -f "${dir}/fonts.list" || ! -f "${dir}/fonts.dir" || ! -f "${dir}/encodings.dir" ]]; then 55 + retval=0 56 + fi 57 + 58 + # Check that no files were added or removed.... 59 + if [[ "${retval}" -ne 0 && "$(cat ${dir}/fonts.list)" != "${fontfiles}" ]] ; then 60 + retval=0 61 + fi 62 + 63 + # Check that no files were updated.... 64 + if [[ "${retval}" -ne 0 ]] ; then 65 + local changed="$(find ${dir}/ -type f -cnewer ${dir}/fonts.dir | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')" 66 + 67 + if [[ -n "${changed}" ]] ; then 68 + retval=0 69 + fi 70 + fi 71 + 72 + # Recreate fonts.list since something changed 73 + if [[ "${retval}" == 0 ]] ; then 74 + echo "${fontfiles}" > "${dir}"/fonts.list 75 + fi 76 + 77 + return ${retval} 78 + } 79 + 80 + get_fontdirs() { 81 + local d 82 + if [[ $system == 1 ]] ; then 83 + if [[ $osxfonts == 1 ]] ; then 84 + find {/System/,/}Library/Fonts -type d 85 + fi 86 + else 87 + if [[ $osxfonts == 1 && -d "${HOME}/Library/Fonts" ]] ; then 88 + find "${HOME}/Library/Fonts" -type d 89 + fi 90 + 91 + if [[ -d "${HOME}/.fonts" ]] ; then 92 + find "${HOME}/.fonts" -type d 93 + fi 94 + fi 95 + } 96 + 97 + setup_fontdirs() { 98 + local x="" 99 + local fontdirs="" 100 + local changed="no" 101 + 102 + umask 022 103 + 104 + if [[ $system == 1 ]] ; then 105 + echo "font_cache: Scanning system font directories to generate X11 font caches" 106 + else 107 + echo "font_cache: Scanning user font directories to generate X11 font caches" 108 + fi 109 + 110 + OIFS=$IFS 111 + IFS=' 112 + ' 113 + for x in $(get_fontdirs) ; do 114 + if [[ -d "${x}" ]] && check_dirty "${x}" ; then 115 + if [[ -z "${fontdirs}" ]] ; then 116 + fontdirs="${x}" 117 + else 118 + fontdirs="${fontdirs}${IFS}${x}" 119 + fi 120 + fi 121 + done 122 + 123 + if [[ -n "${fontdirs}" ]] ; then 124 + echo "font_cache: Making fonts.dir for updated directories." 125 + for x in ${fontdirs} ; do 126 + if [[ $verbose == 1 ]] ; then 127 + echo "font_cache: ${x}" 128 + fi 129 + 130 + # First, generate fonts.scale for scaleable fonts that might be there 131 + @MKFONTSCALE@ \ 132 + -a $ENCODINGSDIR/encodings.dir \ 133 + -a $ENCODINGSDIR/large/encodings.dir \ 134 + -- ${x} 135 + 136 + # Next, generate fonts.dir 137 + if [[ $verbose == 1 ]] ; then 138 + @MKFONTDIR@ \ 139 + -e $ENCODINGSDIR \ 140 + -e $ENCODINGSDIR/large \ 141 + -- ${x} 142 + else 143 + @MKFONTDIR@ \ 144 + -e $ENCODINGSDIR \ 145 + -e $ENCODINGSDIR/large \ 146 + -- ${x} > /dev/null 147 + fi 148 + done 149 + fi 150 + IFS=$OIFS 151 + 152 + # Finally, update fontconfig's cache 153 + echo "font_cache: Updating FC cache" 154 + if [[ $system == 1 ]] ; then 155 + @FC_CACHE@ -s \ 156 + $([[ $force == 1 ]] && echo "-f -r") \ 157 + $([[ $verbose == 1 ]] && echo "-v") 158 + else 159 + @FC_CACHE@ \ 160 + $([[ $force == 1 ]] && echo "-f -r") \ 161 + $([[ $verbose == 1 ]] && echo "-v") 162 + fi 163 + echo "font_cache: Done" 164 + } 165 + 166 + do_usage() { 167 + echo "font_cache [options]" 168 + echo " -f, --force : Force cache recreation" 169 + echo " -n, --no-osxfonts : Just cache X11 font directories" 170 + echo " (-n just pertains to XFont cache, not fontconfig)" 171 + echo " -s, --system : Cache system font dirs instead of user dirs" 172 + echo " -v, --verbose : Verbose Output" 173 + } 174 + 175 + cleanup() { 176 + [[ -r "${FC_LOCKFILE}" ]] && rm -f "${FC_LOCKFILE}" 177 + exit 1 178 + } 179 + 180 + while [[ $# -gt 0 ]] ; do 181 + case $1 in 182 + -s|--system) system=1 ;; 183 + -f|--force) force=1 ;; 184 + -v|--verbose) verbose=1 ;; 185 + -n|--no-osxfonts) osxfonts=0 ;; 186 + --help) do_usage ; exit 0 ;; 187 + *) do_usage ; exit 1 ;; 188 + esac 189 + shift 190 + done 191 + 192 + if [[ $system == 1 ]] ; then 193 + FC_LOCKFILE="/tmp/font_cache.$UID.lock" 194 + elif [[ -w "${TMPDIR}" ]] ; then 195 + FC_LOCKFILE="${TMPDIR}/font_cache.lock" 196 + elif [[ -w "/tmp" ]] ; then 197 + FC_LOCKFILE="/tmp/font_cache.$UID.lock" 198 + else 199 + FC_LOCKFILE="${HOME}/.font_cache.lock" 200 + fi 201 + 202 + if [[ -x /usr/bin/lockfile ]] ; then 203 + if /usr/bin/lockfile -r 0 -l 240 -s 4 -! "${FC_LOCKFILE}" ; then 204 + echo "font_cache is already running." >&2 205 + echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2 206 + exit 1 207 + fi 208 + else 209 + if [[ -r "${FC_LOCKFILE}" ]] ; then 210 + read OLD_PID < "${FC_LOCKFILE}" 211 + if kill -0 ${OLD_PID} >& /dev/null ; then 212 + echo "font_cache is already running with PID ${OLD_PID}." >&2 213 + echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2 214 + exit 1 215 + fi 216 + 217 + echo "Removing stale ${FC_LOCKFILE}" >&2 218 + rm -f "${FC_LOCKFILE}" 219 + fi 220 + 221 + echo $$ > "${FC_LOCKFILE}" 222 + 223 + if [[ ! -r "${FC_LOCKFILE}" ]] ; then 224 + echo "Unable to write to ${FC_LOCKFILE}." >&2 225 + exit 1 226 + fi 227 + 228 + # Now make sure we didn't collide mid-air 229 + read OLD_PID < "${FC_LOCKFILE}" 230 + if [[ $$ != ${OLD_PID} ]] ; then 231 + echo "font_cache is already running with PID ${OLD_PID}." >&2 232 + exit 1 233 + fi 234 + fi 235 + 236 + trap cleanup SIGINT SIGQUIT SIGABRT SIGTERM 237 + 238 + setup_fontdirs 239 + 240 + rm -f "${FC_LOCKFILE}"
+23
pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>Label</key> 6 + <string>org.nixos.xquartz.privileged_startx</string> 7 + <key>ProgramArguments</key> 8 + <array> 9 + <string>@PRIVILEGED_STARTX@</string> 10 + <string>-d</string> 11 + <string>@PRIVILEGED_STARTX_D@</string> 12 + </array> 13 + <key>MachServices</key> 14 + <dict> 15 + <key>org.nixos.xquartz.privileged_startx</key> 16 + <true/> 17 + </dict> 18 + <key>TimeOut</key> 19 + <integer>120</integer> 20 + <key>EnableTransactions</key> 21 + <true/> 22 + </dict> 23 + </plist>
+27
pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist
··· 1 + <?xml version="1.0" encoding="UTF-8"?> 2 + <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 3 + <plist version="1.0"> 4 + <dict> 5 + <key>Label</key> 6 + <string>org.nixos.xquartz.startx</string> 7 + <key>ProgramArguments</key> 8 + <array> 9 + <string>@LAUNCHD_STARTX@</string> 10 + <string>@STARTX@</string> 11 + <string>--</string> 12 + <string>@XQUARTZ@</string> 13 + </array> 14 + <key>Sockets</key> 15 + <dict> 16 + <key>org.nixos.xquartz:0</key> 17 + <dict> 18 + <key>SecureSocketWithKey</key> 19 + <string>DISPLAY</string> 20 + </dict> 21 + </dict> 22 + <key>ServiceIPC</key> 23 + <true/> 24 + <key>EnableTransactions</key> 25 + <true/> 26 + </dict> 27 + </plist>
+47
pkgs/servers/x11/xquartz/patch_plist.rb
··· 1 + require 'rexml/document' 2 + 3 + # This script is for setting environment variables in OSX applications. 4 + # 5 + # This script takes two arguments: 6 + # 1) A Nix attrset serialized via `builtins.toXML' 7 + # 2) The path to an OSX app's Info.plist file. 8 + 9 + def main(serialized_attrs, plist_path) 10 + env = attrs_to_hash(serialized_attrs) 11 + doc = REXML::Document.new(File.open(plist_path, &:read)) 12 + topmost_dict = doc.root.elements.detect { |e| e.name == "dict" } 13 + topmost_dict.add_element("key").tap do |key| 14 + key.text = "LSEnvironment" 15 + end 16 + topmost_dict.add_element(env_to_dict(env)) 17 + 18 + formatter = REXML::Formatters::Pretty.new(2) 19 + formatter.compact = true 20 + formatter.write(doc, File.open(plist_path, "w")) 21 + end 22 + 23 + # Convert a `builtins.toXML' serialized attrs to a hash. 24 + # This assumes the values are strings. 25 + def attrs_to_hash(serialized_attrs) 26 + hash = {} 27 + env_vars = REXML::Document.new(serialized_attrs) 28 + env_vars.root.elements[1].elements.each do |attr| 29 + name = attr.attribute("name") 30 + value = attr.elements.first.attribute("value") 31 + hash[name] = value 32 + end 33 + hash 34 + end 35 + 36 + def env_to_dict(env) 37 + dict = REXML::Element.new("dict") 38 + env.each do |k, v| 39 + key = dict.add_element("key") 40 + key.text = k 41 + string = dict.add_element("string") 42 + string.text = v 43 + end 44 + dict 45 + end 46 + 47 + main(ARGV[0], ARGV[1])
+43
pkgs/servers/x11/xquartz/privileged
··· 1 + #!/bin/sh 2 + 3 + export PATH=@PATH@:$PATH 4 + export FONTCONFIG_FILE="@FONTCONFIG_FILE@" 5 + 6 + # Our usage of mktemp fails with GNU, so prefer /usr/bin to hopefully 7 + # get BSD mktemp 8 + if [ -x /usr/bin/mktemp ] ; then 9 + MKTEMP=/usr/bin/mktemp 10 + else 11 + MKTEMP=mktemp 12 + fi 13 + 14 + STAT=/usr/bin/stat 15 + 16 + for dir in /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix ; do 17 + success=0 18 + for attempt in 1 2 3 4 5 ; do 19 + check=`${STAT} -f '%#p %u %g' ${dir} 2> /dev/null` 20 + if [ "${check}" = "041777 0 0" ] ; then 21 + success=1 22 + break 23 + elif [ -n "${check}" ] ; then 24 + saved=$(${MKTEMP} -d ${dir}-XXXXXXXX) 25 + mv ${dir} ${saved} 26 + echo "${dir} exists but is insecure. It has been moved into ${saved}" >&2 27 + fi 28 + 29 + # if $dir exists and is a symlink (ie protect against a race) 30 + if ${MKTEMP} -d ${dir} >& /dev/null ; then 31 + chmod 1777 $dir 32 + chown root:wheel $dir 33 + success=1 34 + break 35 + fi 36 + done 37 + 38 + if [ "${success}" -eq 0 ] ; then 39 + echo "Could not successfully create ${dir}" >&2 40 + fi 41 + done 42 + 43 + @FONT_CACHE@ -s &
+232
pkgs/servers/x11/xquartz/startx
··· 1 + #!/bin/sh 2 + 3 + # vim :set ts=4 sw=4 sts=4 et : 4 + 5 + # 6 + # This is just a sample implementation of a slightly less primitive 7 + # interface than xinit. It looks for user .xinitrc and .xserverrc 8 + # files, then system xinitrc and xserverrc files, else lets xinit choose 9 + # its default. The system xinitrc should probably do things like check 10 + # for .Xresources files and merge them in, start up a window manager, 11 + # and pop a clock and several xterms. 12 + # 13 + # Site administrators are STRONGLY urged to write nicer versions. 14 + # 15 + 16 + unset DBUS_SESSION_BUS_ADDRESS 17 + unset SESSION_MANAGER 18 + 19 + 20 + # Bourne shell does not automatically export modified environment variables 21 + # so export the new PATH just in case the user changes the shell 22 + export PATH=@PATH@:$PATH 23 + 24 + export FONTCONFIG_FILE="@FONTCONFIG_FILE@" 25 + 26 + userclientrc=$HOME/.xinitrc 27 + sysclientrc=@XINITRC@ 28 + 29 + userserverrc=$HOME/.xserverrc 30 + sysserverrc=@XINITRC@ 31 + defaultclient=@DEFAULT_CLIENT@ # xterm 32 + defaultserver=@DEFAULT_SERVER@ 33 + defaultclientargs="" 34 + defaultserverargs="" 35 + defaultdisplay=":0" 36 + clientargs="" 37 + serverargs="" 38 + 39 + export X11_PREFS_DOMAIN=org.nixos.xquartz".X11" 40 + 41 + # Initialize defaults (this will cut down on "safe" error messages) 42 + if ! /usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts > /dev/null 2>&1 ; then 43 + /usr/bin/defaults write $X11_PREFS_DOMAIN cache_fonts -bool true 44 + fi 45 + 46 + if ! /usr/bin/defaults read $X11_PREFS_DOMAIN no_auth > /dev/null 2>&1 ; then 47 + /usr/bin/defaults write $X11_PREFS_DOMAIN no_auth -bool false 48 + fi 49 + 50 + if ! /usr/bin/defaults read $X11_PREFS_DOMAIN nolisten_tcp > /dev/null 2>&1 ; then 51 + /usr/bin/defaults write $X11_PREFS_DOMAIN nolisten_tcp -bool true 52 + fi 53 + 54 + # First, start caching fonts 55 + if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts` = x1 ] ; then 56 + @FONT_CACHE@ & 57 + fi 58 + 59 + # a race to create /tmp/.X11-unix 60 + @PRIVILEGED_STARTX@ 61 + 62 + if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN no_auth` = x0 ] ; then 63 + enable_xauth=1 64 + else 65 + enable_xauth=0 66 + fi 67 + 68 + if [ x`defaults read $X11_PREFS_DOMAIN nolisten_tcp` = x1 ] ; then 69 + defaultserverargs="$defaultserverargs -nolisten tcp" 70 + fi 71 + 72 + # The second check is the real one. The first is to hopefully avoid 73 + # needless syslog spamming. 74 + if /usr/bin/defaults read $X11_PREFS_DOMAIN 2> /dev/null | grep -q 'dpi' && /usr/bin/defaults read $X11_PREFS_DOMAIN dpi > /dev/null 2>&1 ; then 75 + defaultserverargs="$defaultserverargs -dpi `/usr/bin/defaults read $X11_PREFS_DOMAIN dpi`" 76 + fi 77 + 78 + # Automatically determine an unused $DISPLAY 79 + d=0 80 + while true ; do 81 + [ -e /tmp/.X$d-lock ] || break 82 + d=$(($d + 1)) 83 + done 84 + defaultdisplay=":$d" 85 + unset d 86 + 87 + whoseargs="client" 88 + while [ x"$1" != x ]; do 89 + case "$1" in 90 + # '' required to prevent cpp from treating "/*" as a C comment. 91 + /''*|\./''*) 92 + if [ "$whoseargs" = "client" ]; then 93 + if [ x"$client" = x ] && [ x"$clientargs" = x ]; then 94 + client="$1" 95 + else 96 + clientargs="$clientargs $1" 97 + fi 98 + else 99 + if [ x"$server" = x ] && [ x"$serverargs" = x ]; then 100 + server="$1" 101 + else 102 + serverargs="$serverargs $1" 103 + fi 104 + fi 105 + ;; 106 + --) 107 + whoseargs="server" 108 + ;; 109 + *) 110 + if [ "$whoseargs" = "client" ]; then 111 + clientargs="$clientargs $1" 112 + else 113 + # display must be the FIRST server argument 114 + if [ x"$serverargs" = x ] && \ 115 + expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then 116 + display="$1" 117 + else 118 + serverargs="$serverargs $1" 119 + fi 120 + fi 121 + ;; 122 + esac 123 + shift 124 + done 125 + 126 + # process client arguments 127 + if [ x"$client" = x ]; then 128 + client=$defaultclient 129 + 130 + # For compatibility reasons, only use startxrc if there were no client command line arguments 131 + if [ x"$clientargs" = x ]; then 132 + if [ -f "$userclientrc" ]; then 133 + client=$userclientrc 134 + elif [ -f "$sysclientrc" ]; then 135 + client=$sysclientrc 136 + fi 137 + fi 138 + fi 139 + 140 + # if no client arguments, use defaults 141 + if [ x"$clientargs" = x ]; then 142 + clientargs=$defaultclientargs 143 + fi 144 + 145 + # process server arguments 146 + if [ x"$server" = x ]; then 147 + server=$defaultserver 148 + 149 + # For compatibility reasons, only use xserverrc if there were no server command line arguments 150 + if [ x"$serverargs" = x -a x"$display" = x ]; then 151 + if [ -f "$userserverrc" ]; then 152 + server=$userserverrc 153 + elif [ -f "$sysserverrc" ]; then 154 + server=$sysserverrc 155 + fi 156 + fi 157 + fi 158 + 159 + # if no server arguments, use defaults 160 + if [ x"$serverargs" = x ]; then 161 + serverargs=$defaultserverargs 162 + fi 163 + 164 + # if no display, use default 165 + if [ x"$display" = x ]; then 166 + display=$defaultdisplay 167 + fi 168 + 169 + if [ x"$enable_xauth" = x1 ] ; then 170 + if [ x"$XAUTHORITY" = x ]; then 171 + XAUTHORITY=$HOME/.Xauthority 172 + export XAUTHORITY 173 + fi 174 + 175 + removelist= 176 + 177 + # set up default Xauth info for this machine 178 + hostname=`/bin/hostname` 179 + 180 + authdisplay=${display:-:0} 181 + 182 + mcookie=`/usr/bin/openssl rand -hex 16` 183 + 184 + if test x"$mcookie" = x; then 185 + echo "Couldn't create cookie" 186 + exit 1 187 + fi 188 + dummy=0 189 + 190 + # create a file with auth information for the server. ':0' is a dummy. 191 + xserverauthfile=$HOME/.serverauth.$$ 192 + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM 193 + @XAUTH@ -q -f "$xserverauthfile" << EOF 194 + add :$dummy . $mcookie 195 + EOF 196 + 197 + xserverauthfilequoted=$(echo ${xserverauthfile} | sed "s/'/'\\\\''/g") 198 + serverargs=${serverargs}" -auth '"${xserverauthfilequoted}"'" 199 + 200 + # now add the same credentials to the client authority file 201 + # if '$displayname' already exists do not overwrite it as another 202 + # server man need it. Add them to the '$xserverauthfile' instead. 203 + for displayname in $authdisplay $hostname$authdisplay; do 204 + authcookie=`@XAUTH@ list "$displayname" \ 205 + | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; 206 + if [ "z${authcookie}" = "z" ] ; then 207 + @XAUTH@ -q << EOF 208 + add $displayname . $mcookie 209 + EOF 210 + removelist="$displayname $removelist" 211 + else 212 + dummy=$(($dummy+1)); 213 + @XAUTH@ -q -f "$xserverauthfile" << EOF 214 + add :$dummy . $authcookie 215 + EOF 216 + fi 217 + done 218 + fi 219 + 220 + eval @XINIT@ \"$client\" $clientargs -- \"$server\" $display $serverargs "-xkbdir" "@XKEYBOARD_CONFIG@" 221 + retval=$? 222 + 223 + if [ x"$enable_xauth" = x1 ] ; then 224 + if [ x"$removelist" != x ]; then 225 + @XAUTH@ remove $removelist 226 + fi 227 + if [ x"$xserverauthfile" != x ]; then 228 + rm -f "$xserverauthfile" 229 + fi 230 + fi 231 + 232 + exit $retval
+36
pkgs/servers/x11/xquartz/system-fonts.nix
··· 1 + { stdenv, xorg, fontDirs }: 2 + 3 + stdenv.mkDerivation { 4 + name = "xquartz-system-fonts"; 5 + buildInputs = [ 6 + xorg.mkfontdir xorg.mkfontscale 7 + ]; 8 + buildCommand = '' 9 + source $stdenv/setup 10 + 11 + for i in ${toString fontDirs} ; do 12 + if [ -d $i/ ]; then 13 + list="$list $i"; 14 + fi; 15 + done 16 + list=$(find $list -name fonts.dir -o -name '*.ttf' -o -name '*.otf'); 17 + fontDirs='''; 18 + for i in $list ; do 19 + fontDirs="$fontDirs $(dirname $i)"; 20 + done; 21 + mkdir -p $out/share/X11-fonts/; 22 + find $fontDirs -type f -o -type l | while read i; do 23 + j="''${i##*/}" 24 + if ! test -e "$out/share/X11-fonts/''${j}"; then 25 + ln -s "$i" "$out/share/X11-fonts/''${j}"; 26 + fi; 27 + done; 28 + cd $out/share/X11-fonts/ 29 + rm fonts.dir 30 + rm fonts.scale 31 + rm fonts.alias 32 + mkfontdir 33 + mkfontscale 34 + cat $( find ${xorg.fontalias}/ -name fonts.alias) >fonts.alias 35 + ''; 36 + }
+40
pkgs/servers/x11/xquartz/xinitrc
··· 1 + #!/bin/sh 2 + 3 + export PATH=@PATH@:$PATH 4 + 5 + userresources=$HOME/.Xresources 6 + usermodmap=$HOME/.Xmodmap 7 + 8 + # Fix ridiculously slow key repeat. 9 + @XSET@ r rate 10 + 11 + # merge in defaults and keymaps 12 + 13 + if [ -f "$userresources" ]; then 14 + if [ -x /usr/bin/cpp ] ; then 15 + @XRDB@ -merge "$userresources" 16 + else 17 + @XRDB@ -nocpp -merge "$userresources" 18 + fi 19 + fi 20 + 21 + if [ -f "$usermodmap" ]; then 22 + @XMODMAP@ "$usermodmap" 23 + fi 24 + 25 + fontpath="@SYSTEM_FONTS@" 26 + [ -e "$HOME"/.fonts/fonts.dir ] && fontpath="$fontpath,$HOME/.fonts" 27 + [ -e "$HOME"/Library/Fonts/fonts.dir ] && fontpath="$fontpath,$HOME/Library/Fonts" 28 + [ -e /Library/Fonts/fonts.dir ] && fontpath="$fontpath,/Library/Fonts" 29 + [ -e /System/Library/Fonts/fonts.dir ] && fontpath="$fontpath,/System/Library/Fonts" 30 + @XSET@ fp= "$fontpath" 31 + unset fontpath 32 + 33 + if [ -d "${HOME}/.xinitrc.d" ] ; then 34 + for f in "${HOME}"/.xinitrc.d/*.sh ; do 35 + [ -x "$f" ] && . "$f" 36 + done 37 + unset f 38 + fi 39 + 40 + exec @QUARTZ_WM@
+21 -20
pkgs/top-level/all-packages.nix
··· 164 164 165 165 ### Symbolic names. 166 166 167 - x11 = if stdenv.isDarwin then darwinX11AndOpenGL else xlibsWrapper; 167 + x11 = xlibsWrapper; 168 168 169 169 # `xlibs' is the set of X library components. This used to be the 170 170 # old modular X llibraries project (called `xlibs') but now it's just ··· 4548 4548 4549 4549 freealut = callPackage ../development/libraries/freealut { }; 4550 4550 4551 - freeglut = if stdenv.isDarwin then darwinX11AndOpenGL else 4552 - callPackage ../development/libraries/freeglut { }; 4551 + freeglut = callPackage ../development/libraries/freeglut { }; 4553 4552 4554 4553 freetype = callPackage ../development/libraries/freetype { }; 4555 4554 ··· 5666 5665 5667 5666 mesaSupported = lib.elem system lib.platforms.mesaPlatforms; 5668 5667 5669 - mesa_original = callPackage ../development/libraries/mesa { 5668 + mesaDarwinOr = alternative: if stdenv.isDarwin 5669 + then callPackage ../development/libraries/mesa-darwin { } 5670 + else alternative; 5671 + mesa_noglu = mesaDarwinOr (callPackage ../development/libraries/mesa { 5670 5672 # makes it slower, but during runtime we link against just mesa_drivers 5671 5673 # through /run/opengl-driver*, which is overriden according to config.grsecurity 5672 5674 grsecEnabled = true; 5673 - }; 5674 - 5675 - mesa_noglu = if stdenv.isDarwin 5676 - then darwinX11AndOpenGL // { driverLink = mesa_noglu; } 5677 - else mesa_original; 5675 + }); 5676 + mesa_glu = mesaDarwinOr (callPackage ../development/libraries/mesa-glu { }); 5678 5677 mesa_drivers = let 5679 - mo = mesa_original.override { grsecEnabled = config.grsecurity or false; }; 5678 + mo = mesa_noglu.override { grsecEnabled = config.grsecurity or false; }; 5680 5679 in mo.drivers; 5681 - mesa_glu = callPackage ../development/libraries/mesa-glu { }; 5682 - mesa = if stdenv.isDarwin then darwinX11AndOpenGL 5683 - else buildEnv { 5684 - name = "mesa-${mesa_noglu.version}"; 5685 - paths = [ mesa_glu mesa_noglu ]; 5686 - }; 5687 - darwinX11AndOpenGL = callPackage ../os-specific/darwin/native-x11-and-opengl { }; 5680 + mesa = mesaDarwinOr (buildEnv { 5681 + name = "mesa-${mesa_noglu.version}"; 5682 + paths = [ mesa_noglu mesa_glu ]; 5683 + }); 5688 5684 5689 5685 metaEnvironment = recurseIntoAttrs (let callPackage = newScope pkgs.metaEnvironment; in rec { 5690 5686 sdfLibrary = callPackage ../development/libraries/sdf-library { aterm = aterm28; }; ··· 7012 7008 7013 7009 xinetd = callPackage ../servers/xinetd { }; 7014 7010 7011 + xquartz = callPackage ../servers/x11/xquartz { }; 7012 + quartz-wm = callPackage ../servers/x11/quartz-wm { stdenv = clangStdenv; }; 7013 + 7015 7014 xorg = recurseIntoAttrs (import ../servers/x11/xorg/default.nix { 7016 - inherit fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig 7017 - libxslt expat libdrm libpng zlib perl mesa_drivers 7015 + inherit clangStdenv fetchurl fetchgit fetchpatch stdenv pkgconfig intltool freetype fontconfig 7016 + libxslt expat libpng zlib perl mesa_drivers 7018 7017 dbus libuuid openssl gperf m4 7019 - autoconf automake libtool xmlto asciidoc udev flex bison python mtdev pixman; 7018 + autoconf automake libtool xmlto asciidoc flex bison python mtdev pixman; 7020 7019 mesa = mesa_noglu; 7020 + udev = if stdenv.isLinux then udev else null; 7021 + libdrm = if stdenv.isLinux then libdrm else null; 7021 7022 } // { 7022 7023 xf86videointel-testing = callPackage ../servers/x11/xorg/xf86-video-intel-testing.nix { }; 7023 7024 });
+27 -27
pkgs/top-level/release.nix
··· 382 382 }; 383 383 384 384 xorg = { 385 - fontadobe100dpi = linux; 386 - fontadobe75dpi = linux; 387 - fontbh100dpi = linux; 388 - fontbhlucidatypewriter100dpi = linux; 389 - fontbhlucidatypewriter75dpi = linux; 390 - fontbhttf = linux; 391 - fontcursormisc = linux; 392 - fontmiscmisc = linux; 393 - iceauth = linux; 394 - libX11 = linux; 395 - lndir = all; 396 - setxkbmap = linux; 397 - xauth = linux; 398 - xbitmaps = linux; 399 - xev = linux; 385 + fontadobe100dpi = linux ++ darwin; 386 + fontadobe75dpi = linux ++ darwin; 387 + fontbh100dpi = linux ++ darwin; 388 + fontbhlucidatypewriter100dpi = linux ++ darwin; 389 + fontbhlucidatypewriter75dpi = linux ++ darwin; 390 + fontbhttf = linux ++ darwin; 391 + fontcursormisc = linux ++ darwin; 392 + fontmiscmisc = linux ++ darwin; 393 + iceauth = linux ++ darwin; 394 + libX11 = linux ++ darwin; 395 + lndir = all ++ darwin; 396 + setxkbmap = linux ++ darwin; 397 + xauth = linux ++ darwin; 398 + xbitmaps = linux ++ darwin; 399 + xev = linux ++ darwin; 400 400 xf86inputevdev = linux; 401 401 xf86inputkeyboard = linux; 402 402 xf86inputmouse = linux; ··· 408 408 xf86videovesa = linux; 409 409 xf86videovmware = linux; 410 410 xf86videomodesetting = linux; 411 - xfs = linux; 412 - xinput = linux; 413 - xkbcomp = linux; 414 - xlsclients = linux; 415 - xmessage = linux; 416 - xorgserver = linux; 417 - xprop = linux; 418 - xrandr = linux; 419 - xrdb = linux; 420 - xset = linux; 421 - xsetroot = linux; 422 - xwininfo = linux; 411 + xfs = linux ++ darwin; 412 + xinput = linux ++ darwin; 413 + xkbcomp = linux ++ darwin; 414 + xlsclients = linux ++ darwin; 415 + xmessage = linux ++ darwin; 416 + xorgserver = linux ++ darwin; 417 + xprop = linux ++ darwin; 418 + xrandr = linux ++ darwin; 419 + xrdb = linux ++ darwin; 420 + xset = linux ++ darwin; 421 + xsetroot = linux ++ darwin; 422 + xwininfo = linux ++ darwin; 423 423 }; 424 424 425 425 xfce = {