diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/x11')
26 files changed, 6794 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/x11/quartz-wm/default.nix b/nixpkgs/pkgs/servers/x11/quartz-wm/default.nix new file mode 100644 index 000000000000..92350595dd85 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/quartz-wm/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, xorg, pixman, pkgconfig, AppKit, Foundation, Xplugin }: + +let version = "1.3.1"; +in stdenv.mkDerivation { + name = "quartz-wm-${version}"; + src = fetchurl { + url = "http://xquartz-dl.macosforge.org/src/quartz-wm-${version}.tar.xz"; + sha256 = "1j8zd3p7rhay1s3sxq6anw78k5s59mx44xpqla2ianl62346a5g9"; + }; + patches = [ + ./no_title_crash.patch + ./extern-patch.patch + ]; + buildInputs = [ + xorg.libXinerama + xorg.libAppleWM + xorg.xorgproto + xorg.libXrandr + xorg.libXext + pixman + pkgconfig + AppKit Xplugin Foundation + ]; + meta = with stdenv.lib; { + license = licenses.apsl20; + platforms = platforms.darwin; + maintainers = with maintainers; [ matthewbauer ]; + }; +} diff --git a/nixpkgs/pkgs/servers/x11/quartz-wm/extern-patch.patch b/nixpkgs/pkgs/servers/x11/quartz-wm/extern-patch.patch new file mode 100644 index 000000000000..cd7b47fc7b05 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/quartz-wm/extern-patch.patch @@ -0,0 +1,13 @@ +diff --git a/src/x-list.h b/src/x-list.h +index bb85c02..059c88b 100644 +--- a/src/x-list.h ++++ b/src/x-list.h +@@ -39,7 +39,7 @@ + #endif + + #ifndef X_EXTERN +-# define X_EXTERN __private_extern__ ++# define X_EXTERN extern + #endif + + X_EXTERN void X_PFX (list_free_1) (x_list *node); diff --git a/nixpkgs/pkgs/servers/x11/quartz-wm/no_title_crash.patch b/nixpkgs/pkgs/servers/x11/quartz-wm/no_title_crash.patch new file mode 100644 index 000000000000..751a35072bcf --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/quartz-wm/no_title_crash.patch @@ -0,0 +1,25 @@ +commit c28527b1340c51f2b492a31e49127106cebbfc5d +Author: Jeremy Huddleston <jeremyhu@apple.com> +Date: Fri Jun 1 10:38:37 2012 -0700 + + Fix a crash when minimizing windows without titles + + <rdar://problem/11575791> + + Regression-from: 21f210c923aa5d79400ce46275084f2636c92bd9 + + Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> + +diff --git a/src/x-window.m b/src/x-window.m +index a210c6a..e3b9066 100644 +--- a/src/x-window.m ++++ b/src/x-window.m +@@ -2139,7 +2139,7 @@ - (void) do_collapse + if (wid == XP_NULL_NATIVE_WINDOW_ID) + return; + +- title_c = strdup([_title UTF8String]); ++ title_c = strdup([[self title] UTF8String]); + assert(title_c); + + err = qwm_dock_minimize_item_with_title_async (wid, title_c); diff --git a/nixpkgs/pkgs/servers/x11/xorg/.gitignore b/nixpkgs/pkgs/servers/x11/xorg/.gitignore new file mode 100644 index 000000000000..1bf88f244e80 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/.gitignore @@ -0,0 +1 @@ +download-cache/ diff --git a/nixpkgs/pkgs/servers/x11/xorg/builder.sh b/nixpkgs/pkgs/servers/x11/xorg/builder.sh new file mode 100644 index 000000000000..5a832cb14d53 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/builder.sh @@ -0,0 +1,40 @@ +# This is the builder for all X.org components. +source $stdenv/setup + + +# After installation, automatically add all "Requires" fields in the +# pkgconfig files (*.pc) to the propagated build inputs. +origPostInstall=$postInstall +postInstall() { + if test -n "$origPostInstall"; then eval "$origPostInstall"; fi + + local r p requires + set +o pipefail + requires=$(grep "Requires:" ${!outputDev}/lib/pkgconfig/*.pc | \ + sed "s/Requires://" | sed "s/,/ /g") + set -o pipefail + + echo "propagating requisites $requires" + + for r in $requires; do + for p in "${pkgsHostHost[@]}" "${pkgsHostTarget[@]}"; do + if test -e $p/lib/pkgconfig/$r.pc; then + echo " found requisite $r in $p" + propagatedBuildInputs+=" $p" + fi + done + done +} + + +installFlags="appdefaultdir=$out/share/X11/app-defaults $installFlags" + + +if test -n "$x11BuildHook"; then + source $x11BuildHook +fi + + +enableParallelBuilding=1 + +genericBuild diff --git a/nixpkgs/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h b/nixpkgs/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h new file mode 100644 index 000000000000..b012570ae133 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/darwin/dri/GL/internal/dri_interface.h @@ -0,0 +1,1409 @@ +/* + * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas. + * Copyright 2007-2008 Red Hat, Inc. + * (C) Copyright IBM Corporation 2004 + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * on the rights to use, copy, modify, merge, publish, distribute, sub + * license, and/or sell copies of the Software, and to permit persons to whom + * the Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + * THE COPYRIGHT HOLDERS AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM, + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + * USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +/** + * \file dri_interface.h + * + * This file contains all the types and functions that define the interface + * between a DRI driver and driver loader. Currently, the most common driver + * loader is the XFree86 libGL.so. However, other loaders do exist, and in + * the future the server-side libglx.a will also be a loader. + * + * \author Kevin E. Martin <kevin@precisioninsight.com> + * \author Ian Romanick <idr@us.ibm.com> + * \author Kristian Høgsberg <krh@redhat.com> + */ + +#ifndef DRI_INTERFACE_H +#define DRI_INTERFACE_H + +/* For archs with no drm.h */ +#if defined(__APPLE__) || defined(__CYGWIN__) || defined(__GNU__) +#ifndef __NOT_HAVE_DRM_H +#define __NOT_HAVE_DRM_H +#endif +#endif + +#ifndef __NOT_HAVE_DRM_H +#include <drm.h> +#else +typedef unsigned int drm_context_t; +typedef unsigned int drm_drawable_t; +typedef struct drm_clip_rect drm_clip_rect_t; +#endif + +/** + * \name DRI interface structures + * + * The following structures define the interface between the GLX client + * side library and the DRI (direct rendering infrastructure). + */ +/*@{*/ +typedef struct __DRIdisplayRec __DRIdisplay; +typedef struct __DRIscreenRec __DRIscreen; +typedef struct __DRIcontextRec __DRIcontext; +typedef struct __DRIdrawableRec __DRIdrawable; +typedef struct __DRIconfigRec __DRIconfig; +typedef struct __DRIframebufferRec __DRIframebuffer; +typedef struct __DRIversionRec __DRIversion; + +typedef struct __DRIcoreExtensionRec __DRIcoreExtension; +typedef struct __DRIextensionRec __DRIextension; +typedef struct __DRIcopySubBufferExtensionRec __DRIcopySubBufferExtension; +typedef struct __DRIswapControlExtensionRec __DRIswapControlExtension; +typedef struct __DRIframeTrackingExtensionRec __DRIframeTrackingExtension; +typedef struct __DRImediaStreamCounterExtensionRec __DRImediaStreamCounterExtension; +typedef struct __DRItexOffsetExtensionRec __DRItexOffsetExtension; +typedef struct __DRItexBufferExtensionRec __DRItexBufferExtension; +typedef struct __DRIlegacyExtensionRec __DRIlegacyExtension; +typedef struct __DRIswrastExtensionRec __DRIswrastExtension; +typedef struct __DRIbufferRec __DRIbuffer; +typedef struct __DRIdri2ExtensionRec __DRIdri2Extension; +typedef struct __DRIdri2LoaderExtensionRec __DRIdri2LoaderExtension; +typedef struct __DRI2flushExtensionRec __DRI2flushExtension; +typedef struct __DRI2throttleExtensionRec __DRI2throttleExtension; + + +typedef struct __DRIimageLoaderExtensionRec __DRIimageLoaderExtension; +typedef struct __DRIimageDriverExtensionRec __DRIimageDriverExtension; + +/*@}*/ + + +/** + * Extension struct. Drivers 'inherit' from this struct by embedding + * it as the first element in the extension struct. + * + * We never break API in for a DRI extension. If we need to change + * the way things work in a non-backwards compatible manner, we + * introduce a new extension. During a transition period, we can + * leave both the old and the new extension in the driver, which + * allows us to move to the new interface without having to update the + * loader(s) in lock step. + * + * However, we can add entry points to an extension over time as long + * as we don't break the old ones. As we add entry points to an + * extension, we increase the version number. The corresponding + * #define can be used to guard code that accesses the new entry + * points at compile time and the version field in the extension + * struct can be used at run-time to determine how to use the + * extension. + */ +struct __DRIextensionRec { + const char *name; + int version; +}; + +/** + * The first set of extension are the screen extensions, returned by + * __DRIcore::getExtensions(). This entry point will return a list of + * extensions and the loader can use the ones it knows about by + * casting them to more specific extensions and advertising any GLX + * extensions the DRI extensions enables. + */ + +/** + * Used by drivers to indicate support for setting the read drawable. + */ +#define __DRI_READ_DRAWABLE "DRI_ReadDrawable" +#define __DRI_READ_DRAWABLE_VERSION 1 + +/** + * Used by drivers that implement the GLX_MESA_copy_sub_buffer extension. + */ +#define __DRI_COPY_SUB_BUFFER "DRI_CopySubBuffer" +#define __DRI_COPY_SUB_BUFFER_VERSION 1 +struct __DRIcopySubBufferExtensionRec { + __DRIextension base; + void (*copySubBuffer)(__DRIdrawable *drawable, int x, int y, int w, int h); +}; + +/** + * Used by drivers that implement the GLX_SGI_swap_control or + * GLX_MESA_swap_control extension. + */ +#define __DRI_SWAP_CONTROL "DRI_SwapControl" +#define __DRI_SWAP_CONTROL_VERSION 1 +struct __DRIswapControlExtensionRec { + __DRIextension base; + void (*setSwapInterval)(__DRIdrawable *drawable, unsigned int inteval); + unsigned int (*getSwapInterval)(__DRIdrawable *drawable); +}; + +/** + * Used by drivers that implement the GLX_MESA_swap_frame_usage extension. + */ +#define __DRI_FRAME_TRACKING "DRI_FrameTracking" +#define __DRI_FRAME_TRACKING_VERSION 1 +struct __DRIframeTrackingExtensionRec { + __DRIextension base; + + /** + * Enable or disable frame usage tracking. + * + * \since Internal API version 20030317. + */ + int (*frameTracking)(__DRIdrawable *drawable, GLboolean enable); + + /** + * Retrieve frame usage information. + * + * \since Internal API version 20030317. + */ + int (*queryFrameTracking)(__DRIdrawable *drawable, + int64_t * sbc, int64_t * missedFrames, + float * lastMissedUsage, float * usage); +}; + + +/** + * Used by drivers that implement the GLX_SGI_video_sync extension. + */ +#define __DRI_MEDIA_STREAM_COUNTER "DRI_MediaStreamCounter" +#define __DRI_MEDIA_STREAM_COUNTER_VERSION 1 +struct __DRImediaStreamCounterExtensionRec { + __DRIextension base; + + /** + * Wait for the MSC to equal target_msc, or, if that has already passed, + * the next time (MSC % divisor) is equal to remainder. If divisor is + * zero, the function will return as soon as MSC is greater than or equal + * to target_msc. + */ + int (*waitForMSC)(__DRIdrawable *drawable, + int64_t target_msc, int64_t divisor, int64_t remainder, + int64_t * msc, int64_t * sbc); + + /** + * Get the number of vertical refreshes since some point in time before + * this function was first called (i.e., system start up). + */ + int (*getDrawableMSC)(__DRIscreen *screen, __DRIdrawable *drawable, + int64_t *msc); +}; + + +#define __DRI_TEX_OFFSET "DRI_TexOffset" +#define __DRI_TEX_OFFSET_VERSION 1 +struct __DRItexOffsetExtensionRec { + __DRIextension base; + + /** + * Method to override base texture image with a driver specific 'offset'. + * The depth passed in allows e.g. to ignore the alpha channel of texture + * images where the non-alpha components don't occupy a whole texel. + * + * For GLX_EXT_texture_from_pixmap with AIGLX. + */ + void (*setTexOffset)(__DRIcontext *pDRICtx, GLint texname, + unsigned long long offset, GLint depth, GLuint pitch); +}; + + +/* Valid values for format in the setTexBuffer2 function below. These + * values match the GLX tokens for compatibility reasons, but we + * define them here since the DRI interface can't depend on GLX. */ +#define __DRI_TEXTURE_FORMAT_NONE 0x20D8 +#define __DRI_TEXTURE_FORMAT_RGB 0x20D9 +#define __DRI_TEXTURE_FORMAT_RGBA 0x20DA + +#define __DRI_TEX_BUFFER "DRI_TexBuffer" +#define __DRI_TEX_BUFFER_VERSION 2 +struct __DRItexBufferExtensionRec { + __DRIextension base; + + /** + * Method to override base texture image with the contents of a + * __DRIdrawable. + * + * For GLX_EXT_texture_from_pixmap with AIGLX. Deprecated in favor of + * setTexBuffer2 in version 2 of this interface + */ + void (*setTexBuffer)(__DRIcontext *pDRICtx, + GLint target, + __DRIdrawable *pDraw); + + /** + * Method to override base texture image with the contents of a + * __DRIdrawable, including the required texture format attribute. + * + * For GLX_EXT_texture_from_pixmap with AIGLX. + */ + void (*setTexBuffer2)(__DRIcontext *pDRICtx, + GLint target, + GLint format, + __DRIdrawable *pDraw); + /** + * Method to release texture buffer in case some special platform + * need this. + * + * For GLX_EXT_texture_from_pixmap with AIGLX. + */ + void (*releaseTexBuffer)(__DRIcontext *pDRICtx, + GLint target, + __DRIdrawable *pDraw); +}; + +/** + * Used by drivers that implement DRI2 + */ +#define __DRI2_FLUSH "DRI2_Flush" +#define __DRI2_FLUSH_VERSION 4 + +#define __DRI2_FLUSH_DRAWABLE (1 << 0) /* the drawable should be flushed. */ +#define __DRI2_FLUSH_CONTEXT (1 << 1) /* glFlush should be called */ + +enum __DRI2throttleReason { + __DRI2_THROTTLE_SWAPBUFFER, + __DRI2_THROTTLE_COPYSUBBUFFER, + __DRI2_THROTTLE_FLUSHFRONT +}; + +struct __DRI2flushExtensionRec { + __DRIextension base; + void (*flush)(__DRIdrawable *drawable); + + /** + * Ask the driver to call getBuffers/getBuffersWithFormat before + * it starts rendering again. + * + * \param drawable the drawable to invalidate + * + * \since 3 + */ + void (*invalidate)(__DRIdrawable *drawable); + + /** + * This function reduces the number of flushes in the driver by combining + * several operations into one call. + * + * It can: + * - throttle + * - flush a drawable + * - flush a context + * + * \param context the context + * \param drawable the drawable to flush + * \param flags a combination of _DRI2_FLUSH_xxx flags + * \param throttle_reason the reason for throttling, 0 = no throttling + * + * \since 4 + */ + void (*flush_with_flags)(__DRIcontext *ctx, + __DRIdrawable *drawable, + unsigned flags, + enum __DRI2throttleReason throttle_reason); +}; + + +/** + * Extension that the driver uses to request + * throttle callbacks. + */ + +#define __DRI2_THROTTLE "DRI2_Throttle" +#define __DRI2_THROTTLE_VERSION 1 + +struct __DRI2throttleExtensionRec { + __DRIextension base; + void (*throttle)(__DRIcontext *ctx, + __DRIdrawable *drawable, + enum __DRI2throttleReason reason); +}; + +/*@}*/ + +/** + * The following extensions describe loader features that the DRI + * driver can make use of. Some of these are mandatory, such as the + * getDrawableInfo extension for DRI and the DRI Loader extensions for + * DRI2, while others are optional, and if present allow the driver to + * expose certain features. The loader pass in a NULL terminated + * array of these extensions to the driver in the createNewScreen + * constructor. + */ + +typedef struct __DRIgetDrawableInfoExtensionRec __DRIgetDrawableInfoExtension; +typedef struct __DRIsystemTimeExtensionRec __DRIsystemTimeExtension; +typedef struct __DRIdamageExtensionRec __DRIdamageExtension; +typedef struct __DRIloaderExtensionRec __DRIloaderExtension; +typedef struct __DRIswrastLoaderExtensionRec __DRIswrastLoaderExtension; + + +/** + * Callback to getDrawableInfo protocol + */ +#define __DRI_GET_DRAWABLE_INFO "DRI_GetDrawableInfo" +#define __DRI_GET_DRAWABLE_INFO_VERSION 1 +struct __DRIgetDrawableInfoExtensionRec { + __DRIextension base; + + /** + * This function is used to get information about the position, size, and + * clip rects of a drawable. + */ + GLboolean (* getDrawableInfo) ( __DRIdrawable *drawable, + unsigned int * index, unsigned int * stamp, + int * x, int * y, int * width, int * height, + int * numClipRects, drm_clip_rect_t ** pClipRects, + int * backX, int * backY, + int * numBackClipRects, drm_clip_rect_t ** pBackClipRects, + void *loaderPrivate); +}; + +/** + * Callback to get system time for media stream counter extensions. + */ +#define __DRI_SYSTEM_TIME "DRI_SystemTime" +#define __DRI_SYSTEM_TIME_VERSION 1 +struct __DRIsystemTimeExtensionRec { + __DRIextension base; + + /** + * Get the 64-bit unadjusted system time (UST). + */ + int (*getUST)(int64_t * ust); + + /** + * Get the media stream counter (MSC) rate. + * + * Matching the definition in GLX_OML_sync_control, this function returns + * the rate of the "media stream counter". In practical terms, this is + * the frame refresh rate of the display. + */ + GLboolean (*getMSCRate)(__DRIdrawable *draw, + int32_t * numerator, int32_t * denominator, + void *loaderPrivate); +}; + +/** + * Damage reporting + */ +#define __DRI_DAMAGE "DRI_Damage" +#define __DRI_DAMAGE_VERSION 1 +struct __DRIdamageExtensionRec { + __DRIextension base; + + /** + * Reports areas of the given drawable which have been modified by the + * driver. + * + * \param drawable which the drawing was done to. + * \param rects rectangles affected, with the drawable origin as the + * origin. + * \param x X offset of the drawable within the screen (used in the + * front_buffer case) + * \param y Y offset of the drawable within the screen. + * \param front_buffer boolean flag for whether the drawing to the + * drawable was actually done directly to the front buffer (instead + * of backing storage, for example) + * \param loaderPrivate the data passed in at createNewDrawable time + */ + void (*reportDamage)(__DRIdrawable *draw, + int x, int y, + drm_clip_rect_t *rects, int num_rects, + GLboolean front_buffer, + void *loaderPrivate); +}; + +#define __DRI_SWRAST_IMAGE_OP_DRAW 1 +#define __DRI_SWRAST_IMAGE_OP_CLEAR 2 +#define __DRI_SWRAST_IMAGE_OP_SWAP 3 + +/** + * SWRast Loader extension. + */ +#define __DRI_SWRAST_LOADER "DRI_SWRastLoader" +#define __DRI_SWRAST_LOADER_VERSION 1 +struct __DRIswrastLoaderExtensionRec { + __DRIextension base; + + /* + * Drawable position and size + */ + void (*getDrawableInfo)(__DRIdrawable *drawable, + int *x, int *y, int *width, int *height, + void *loaderPrivate); + + /** + * Put image to drawable + */ + void (*putImage)(__DRIdrawable *drawable, int op, + int x, int y, int width, int height, + char *data, void *loaderPrivate); + + /** + * Get image from readable + */ + void (*getImage)(__DRIdrawable *readable, + int x, int y, int width, int height, + char *data, void *loaderPrivate); +}; + +/** + * Invalidate loader extension. The presence of this extension + * indicates to the DRI driver that the loader will call invalidate in + * the __DRI2_FLUSH extension, whenever the needs to query for new + * buffers. This means that the DRI driver can drop the polling in + * glViewport(). + * + * The extension doesn't provide any functionality, it's only use to + * indicate to the driver that it can use the new semantics. A DRI + * driver can use this to switch between the different semantics or + * just refuse to initialize if this extension isn't present. + */ +#define __DRI_USE_INVALIDATE "DRI_UseInvalidate" +#define __DRI_USE_INVALIDATE_VERSION 1 + +typedef struct __DRIuseInvalidateExtensionRec __DRIuseInvalidateExtension; +struct __DRIuseInvalidateExtensionRec { + __DRIextension base; +}; + +/** + * The remaining extensions describe driver extensions, immediately + * available interfaces provided by the driver. To start using the + * driver, dlsym() for the __DRI_DRIVER_EXTENSIONS symbol and look for + * the extension you need in the array. + */ +#define __DRI_DRIVER_EXTENSIONS "__driDriverExtensions" + +/** + * This symbol replaces the __DRI_DRIVER_EXTENSIONS symbol, and will be + * suffixed by "_drivername", allowing multiple drivers to be built into one + * library, and also giving the driver the chance to return a variable driver + * extensions struct depending on the driver name being loaded or any other + * system state. + * + * The function prototype is: + * + * const __DRIextension **__driDriverGetExtensions_drivername(void); + */ +#define __DRI_DRIVER_GET_EXTENSIONS "__driDriverGetExtensions" + +/** + * Tokens for __DRIconfig attribs. A number of attributes defined by + * GLX or EGL standards are not in the table, as they must be provided + * by the loader. For example, FBConfig ID or visual ID, drawable type. + */ + +#define __DRI_ATTRIB_BUFFER_SIZE 1 +#define __DRI_ATTRIB_LEVEL 2 +#define __DRI_ATTRIB_RED_SIZE 3 +#define __DRI_ATTRIB_GREEN_SIZE 4 +#define __DRI_ATTRIB_BLUE_SIZE 5 +#define __DRI_ATTRIB_LUMINANCE_SIZE 6 +#define __DRI_ATTRIB_ALPHA_SIZE 7 +#define __DRI_ATTRIB_ALPHA_MASK_SIZE 8 +#define __DRI_ATTRIB_DEPTH_SIZE 9 +#define __DRI_ATTRIB_STENCIL_SIZE 10 +#define __DRI_ATTRIB_ACCUM_RED_SIZE 11 +#define __DRI_ATTRIB_ACCUM_GREEN_SIZE 12 +#define __DRI_ATTRIB_ACCUM_BLUE_SIZE 13 +#define __DRI_ATTRIB_ACCUM_ALPHA_SIZE 14 +#define __DRI_ATTRIB_SAMPLE_BUFFERS 15 +#define __DRI_ATTRIB_SAMPLES 16 +#define __DRI_ATTRIB_RENDER_TYPE 17 +#define __DRI_ATTRIB_CONFIG_CAVEAT 18 +#define __DRI_ATTRIB_CONFORMANT 19 +#define __DRI_ATTRIB_DOUBLE_BUFFER 20 +#define __DRI_ATTRIB_STEREO 21 +#define __DRI_ATTRIB_AUX_BUFFERS 22 +#define __DRI_ATTRIB_TRANSPARENT_TYPE 23 +#define __DRI_ATTRIB_TRANSPARENT_INDEX_VALUE 24 +#define __DRI_ATTRIB_TRANSPARENT_RED_VALUE 25 +#define __DRI_ATTRIB_TRANSPARENT_GREEN_VALUE 26 +#define __DRI_ATTRIB_TRANSPARENT_BLUE_VALUE 27 +#define __DRI_ATTRIB_TRANSPARENT_ALPHA_VALUE 28 +#define __DRI_ATTRIB_FLOAT_MODE 29 +#define __DRI_ATTRIB_RED_MASK 30 +#define __DRI_ATTRIB_GREEN_MASK 31 +#define __DRI_ATTRIB_BLUE_MASK 32 +#define __DRI_ATTRIB_ALPHA_MASK 33 +#define __DRI_ATTRIB_MAX_PBUFFER_WIDTH 34 +#define __DRI_ATTRIB_MAX_PBUFFER_HEIGHT 35 +#define __DRI_ATTRIB_MAX_PBUFFER_PIXELS 36 +#define __DRI_ATTRIB_OPTIMAL_PBUFFER_WIDTH 37 +#define __DRI_ATTRIB_OPTIMAL_PBUFFER_HEIGHT 38 +#define __DRI_ATTRIB_VISUAL_SELECT_GROUP 39 +#define __DRI_ATTRIB_SWAP_METHOD 40 +#define __DRI_ATTRIB_MAX_SWAP_INTERVAL 41 +#define __DRI_ATTRIB_MIN_SWAP_INTERVAL 42 +#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGB 43 +#define __DRI_ATTRIB_BIND_TO_TEXTURE_RGBA 44 +#define __DRI_ATTRIB_BIND_TO_MIPMAP_TEXTURE 45 +#define __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS 46 +#define __DRI_ATTRIB_YINVERTED 47 +#define __DRI_ATTRIB_FRAMEBUFFER_SRGB_CAPABLE 48 + +/* __DRI_ATTRIB_RENDER_TYPE */ +#define __DRI_ATTRIB_RGBA_BIT 0x01 +#define __DRI_ATTRIB_COLOR_INDEX_BIT 0x02 +#define __DRI_ATTRIB_LUMINANCE_BIT 0x04 +#define __DRI_ATTRIB_FLOAT_BIT 0x08 +#define __DRI_ATTRIB_UNSIGNED_FLOAT_BIT 0x10 + +/* __DRI_ATTRIB_CONFIG_CAVEAT */ +#define __DRI_ATTRIB_SLOW_BIT 0x01 +#define __DRI_ATTRIB_NON_CONFORMANT_CONFIG 0x02 + +/* __DRI_ATTRIB_TRANSPARENT_TYPE */ +#define __DRI_ATTRIB_TRANSPARENT_RGB 0x00 +#define __DRI_ATTRIB_TRANSPARENT_INDEX 0x01 + +/* __DRI_ATTRIB_BIND_TO_TEXTURE_TARGETS */ +#define __DRI_ATTRIB_TEXTURE_1D_BIT 0x01 +#define __DRI_ATTRIB_TEXTURE_2D_BIT 0x02 +#define __DRI_ATTRIB_TEXTURE_RECTANGLE_BIT 0x04 + +/** + * This extension defines the core DRI functionality. + */ +#define __DRI_CORE "DRI_Core" +#define __DRI_CORE_VERSION 1 + +struct __DRIcoreExtensionRec { + __DRIextension base; + + __DRIscreen *(*createNewScreen)(int screen, int fd, + unsigned int sarea_handle, + const __DRIextension **extensions, + const __DRIconfig ***driverConfigs, + void *loaderPrivate); + + void (*destroyScreen)(__DRIscreen *screen); + + const __DRIextension **(*getExtensions)(__DRIscreen *screen); + + int (*getConfigAttrib)(const __DRIconfig *config, + unsigned int attrib, + unsigned int *value); + + int (*indexConfigAttrib)(const __DRIconfig *config, int index, + unsigned int *attrib, unsigned int *value); + + __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen, + const __DRIconfig *config, + unsigned int drawable_id, + unsigned int head, + void *loaderPrivate); + + void (*destroyDrawable)(__DRIdrawable *drawable); + + void (*swapBuffers)(__DRIdrawable *drawable); + + __DRIcontext *(*createNewContext)(__DRIscreen *screen, + const __DRIconfig *config, + __DRIcontext *shared, + void *loaderPrivate); + + int (*copyContext)(__DRIcontext *dest, + __DRIcontext *src, + unsigned long mask); + + void (*destroyContext)(__DRIcontext *context); + + int (*bindContext)(__DRIcontext *ctx, + __DRIdrawable *pdraw, + __DRIdrawable *pread); + + int (*unbindContext)(__DRIcontext *ctx); +}; + +/** + * Stored version of some component (i.e., server-side DRI module, kernel-side + * DRM, etc.). + * + * \todo + * There are several data structures that explicitly store a major version, + * minor version, and patch level. These structures should be modified to + * have a \c __DRIversionRec instead. + */ +struct __DRIversionRec { + int major; /**< Major version number. */ + int minor; /**< Minor version number. */ + int patch; /**< Patch-level. */ +}; + +/** + * Framebuffer information record. Used by libGL to communicate information + * about the framebuffer to the driver's \c __driCreateNewScreen function. + * + * In XFree86, most of this information is derrived from data returned by + * calling \c XF86DRIGetDeviceInfo. + * + * \sa XF86DRIGetDeviceInfo __DRIdisplayRec::createNewScreen + * __driUtilCreateNewScreen CallCreateNewScreen + * + * \bug This structure could be better named. + */ +struct __DRIframebufferRec { + unsigned char *base; /**< Framebuffer base address in the CPU's + * address space. This value is calculated by + * calling \c drmMap on the framebuffer handle + * returned by \c XF86DRIGetDeviceInfo (or a + * similar function). + */ + int size; /**< Framebuffer size, in bytes. */ + int stride; /**< Number of bytes from one line to the next. */ + int width; /**< Pixel width of the framebuffer. */ + int height; /**< Pixel height of the framebuffer. */ + int dev_priv_size; /**< Size of the driver's dev-priv structure. */ + void *dev_priv; /**< Pointer to the driver's dev-priv structure. */ +}; + + +/** + * This extension provides alternative screen, drawable and context + * constructors for legacy DRI functionality. This is used in + * conjunction with the core extension. + */ +#define __DRI_LEGACY "DRI_Legacy" +#define __DRI_LEGACY_VERSION 1 + +struct __DRIlegacyExtensionRec { + __DRIextension base; + + __DRIscreen *(*createNewScreen)(int screen, + const __DRIversion *ddx_version, + const __DRIversion *dri_version, + const __DRIversion *drm_version, + const __DRIframebuffer *frame_buffer, + void *pSAREA, int fd, + const __DRIextension **extensions, + const __DRIconfig ***driver_configs, + void *loaderPrivate); + + __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen, + const __DRIconfig *config, + drm_drawable_t hwDrawable, + int renderType, const int *attrs, + void *loaderPrivate); + + __DRIcontext *(*createNewContext)(__DRIscreen *screen, + const __DRIconfig *config, + int render_type, + __DRIcontext *shared, + drm_context_t hwContext, + void *loaderPrivate); +}; + +/** + * This extension provides alternative screen, drawable and context + * constructors for swrast DRI functionality. This is used in + * conjunction with the core extension. + */ +#define __DRI_SWRAST "DRI_SWRast" +#define __DRI_SWRAST_VERSION 4 + +struct __DRIswrastExtensionRec { + __DRIextension base; + + __DRIscreen *(*createNewScreen)(int screen, + const __DRIextension **extensions, + const __DRIconfig ***driver_configs, + void *loaderPrivate); + + __DRIdrawable *(*createNewDrawable)(__DRIscreen *screen, + const __DRIconfig *config, + void *loaderPrivate); + + /* Since version 2 */ + __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen, + int api, + const __DRIconfig *config, + __DRIcontext *shared, + void *data); + + /** + * Create a context for a particular API with a set of attributes + * + * \since version 3 + * + * \sa __DRIdri2ExtensionRec::createContextAttribs + */ + __DRIcontext *(*createContextAttribs)(__DRIscreen *screen, + int api, + const __DRIconfig *config, + __DRIcontext *shared, + unsigned num_attribs, + const uint32_t *attribs, + unsigned *error, + void *loaderPrivate); + + /** + * createNewScreen() with the driver extensions passed in. + * + * \since version 4 + */ + __DRIscreen *(*createNewScreen2)(int screen, + const __DRIextension **loader_extensions, + const __DRIextension **driver_extensions, + const __DRIconfig ***driver_configs, + void *loaderPrivate); + +}; + +/** Common DRI function definitions, shared among DRI2 and Image extensions + */ + +typedef __DRIscreen * +(*__DRIcreateNewScreen2Func)(int screen, int fd, + const __DRIextension **extensions, + const __DRIextension **driver_extensions, + const __DRIconfig ***driver_configs, + void *loaderPrivate); + +typedef __DRIdrawable * +(*__DRIcreateNewDrawableFunc)(__DRIscreen *screen, + const __DRIconfig *config, + void *loaderPrivate); + +typedef __DRIcontext * +(*__DRIcreateContextAttribsFunc)(__DRIscreen *screen, + int api, + const __DRIconfig *config, + __DRIcontext *shared, + unsigned num_attribs, + const uint32_t *attribs, + unsigned *error, + void *loaderPrivate); + +typedef unsigned int +(*__DRIgetAPIMaskFunc)(__DRIscreen *screen); + +/** + * DRI2 Loader extension. + */ +#define __DRI_BUFFER_FRONT_LEFT 0 +#define __DRI_BUFFER_BACK_LEFT 1 +#define __DRI_BUFFER_FRONT_RIGHT 2 +#define __DRI_BUFFER_BACK_RIGHT 3 +#define __DRI_BUFFER_DEPTH 4 +#define __DRI_BUFFER_STENCIL 5 +#define __DRI_BUFFER_ACCUM 6 +#define __DRI_BUFFER_FAKE_FRONT_LEFT 7 +#define __DRI_BUFFER_FAKE_FRONT_RIGHT 8 +#define __DRI_BUFFER_DEPTH_STENCIL 9 /**< Only available with DRI2 1.1 */ +#define __DRI_BUFFER_HIZ 10 + +/* Inofficial and for internal use. Increase when adding a new buffer token. */ +#define __DRI_BUFFER_COUNT 11 + +struct __DRIbufferRec { + unsigned int attachment; + unsigned int name; + unsigned int pitch; + unsigned int cpp; + unsigned int flags; +}; + +#define __DRI_DRI2_LOADER "DRI_DRI2Loader" +#define __DRI_DRI2_LOADER_VERSION 3 +struct __DRIdri2LoaderExtensionRec { + __DRIextension base; + + __DRIbuffer *(*getBuffers)(__DRIdrawable *driDrawable, + int *width, int *height, + unsigned int *attachments, int count, + int *out_count, void *loaderPrivate); + + /** + * Flush pending front-buffer rendering + * + * Any rendering that has been performed to the + * \c __DRI_BUFFER_FAKE_FRONT_LEFT will be flushed to the + * \c __DRI_BUFFER_FRONT_LEFT. + * + * \param driDrawable Drawable whose front-buffer is to be flushed + * \param loaderPrivate Loader's private data that was previously passed + * into __DRIdri2ExtensionRec::createNewDrawable + */ + void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate); + + + /** + * Get list of buffers from the server + * + * Gets a list of buffer for the specified set of attachments. Unlike + * \c ::getBuffers, this function takes a list of attachments paired with + * opaque \c unsigned \c int value describing the format of the buffer. + * It is the responsibility of the caller to know what the service that + * allocates the buffers will expect to receive for the format. + * + * \param driDrawable Drawable whose buffers are being queried. + * \param width Output where the width of the buffers is stored. + * \param height Output where the height of the buffers is stored. + * \param attachments List of pairs of attachment ID and opaque format + * requested for the drawable. + * \param count Number of attachment / format pairs stored in + * \c attachments. + * \param loaderPrivate Loader's private data that was previously passed + * into __DRIdri2ExtensionRec::createNewDrawable. + */ + __DRIbuffer *(*getBuffersWithFormat)(__DRIdrawable *driDrawable, + int *width, int *height, + unsigned int *attachments, int count, + int *out_count, void *loaderPrivate); +}; + +/** + * This extension provides alternative screen, drawable and context + * constructors for DRI2. + */ +#define __DRI_DRI2 "DRI_DRI2" +#define __DRI_DRI2_VERSION 4 + +#define __DRI_API_OPENGL 0 /**< OpenGL compatibility profile */ +#define __DRI_API_GLES 1 /**< OpenGL ES 1.x */ +#define __DRI_API_GLES2 2 /**< OpenGL ES 2.x */ +#define __DRI_API_OPENGL_CORE 3 /**< OpenGL 3.2+ core profile */ +#define __DRI_API_GLES3 4 /**< OpenGL ES 3.x */ + +#define __DRI_CTX_ATTRIB_MAJOR_VERSION 0 +#define __DRI_CTX_ATTRIB_MINOR_VERSION 1 +#define __DRI_CTX_ATTRIB_FLAGS 2 + +/** + * \requires __DRI2_ROBUSTNESS. + */ +#define __DRI_CTX_ATTRIB_RESET_STRATEGY 3 + +#define __DRI_CTX_FLAG_DEBUG 0x00000001 +#define __DRI_CTX_FLAG_FORWARD_COMPATIBLE 0x00000002 + +/** + * \requires __DRI2_ROBUSTNESS. + */ +#define __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS 0x00000004 + +/** + * \name Context reset strategies. + */ +/*@{*/ +#define __DRI_CTX_RESET_NO_NOTIFICATION 0 +#define __DRI_CTX_RESET_LOSE_CONTEXT 1 +/*@}*/ + +/** + * \name Reasons that __DRIdri2Extension::createContextAttribs might fail + */ +/*@{*/ +/** Success! */ +#define __DRI_CTX_ERROR_SUCCESS 0 + +/** Memory allocation failure */ +#define __DRI_CTX_ERROR_NO_MEMORY 1 + +/** Client requested an API (e.g., OpenGL ES 2.0) that the driver can't do. */ +#define __DRI_CTX_ERROR_BAD_API 2 + +/** Client requested an API version that the driver can't do. */ +#define __DRI_CTX_ERROR_BAD_VERSION 3 + +/** Client requested a flag or combination of flags the driver can't do. */ +#define __DRI_CTX_ERROR_BAD_FLAG 4 + +/** Client requested an attribute the driver doesn't understand. */ +#define __DRI_CTX_ERROR_UNKNOWN_ATTRIBUTE 5 + +/** Client requested a flag the driver doesn't understand. */ +#define __DRI_CTX_ERROR_UNKNOWN_FLAG 6 +/*@}*/ + +struct __DRIdri2ExtensionRec { + __DRIextension base; + + __DRIscreen *(*createNewScreen)(int screen, int fd, + const __DRIextension **extensions, + const __DRIconfig ***driver_configs, + void *loaderPrivate); + + __DRIcreateNewDrawableFunc createNewDrawable; + __DRIcontext *(*createNewContext)(__DRIscreen *screen, + const __DRIconfig *config, + __DRIcontext *shared, + void *loaderPrivate); + + /* Since version 2 */ + __DRIgetAPIMaskFunc getAPIMask; + + __DRIcontext *(*createNewContextForAPI)(__DRIscreen *screen, + int api, + const __DRIconfig *config, + __DRIcontext *shared, + void *data); + + __DRIbuffer *(*allocateBuffer)(__DRIscreen *screen, + unsigned int attachment, + unsigned int format, + int width, + int height); + void (*releaseBuffer)(__DRIscreen *screen, + __DRIbuffer *buffer); + + /** + * Create a context for a particular API with a set of attributes + * + * \since version 3 + * + * \sa __DRIswrastExtensionRec::createContextAttribs + */ + __DRIcreateContextAttribsFunc createContextAttribs; + + /** + * createNewScreen with the driver's extension list passed in. + * + * \since version 4 + */ + __DRIcreateNewScreen2Func createNewScreen2; +}; + + +/** + * This extension provides functionality to enable various EGLImage + * extensions. + */ +#define __DRI_IMAGE "DRI_IMAGE" +#define __DRI_IMAGE_VERSION 8 + +/** + * These formats correspond to the similarly named MESA_FORMAT_* + * tokens, except in the native endian of the CPU. For example, on + * little endian __DRI_IMAGE_FORMAT_XRGB8888 corresponds to + * MESA_FORMAT_XRGB8888, but MESA_FORMAT_XRGB8888_REV on big endian. + * + * __DRI_IMAGE_FORMAT_NONE is for images that aren't directly usable + * by the driver (YUV planar formats) but serve as a base image for + * creating sub-images for the different planes within the image. + * + * R8, GR88 and NONE should not be used with createImageFormName or + * createImage, and are returned by query from sub images created with + * createImageFromNames (NONE, see above) and fromPlane (R8 & GR88). + */ +#define __DRI_IMAGE_FORMAT_RGB565 0x1001 +#define __DRI_IMAGE_FORMAT_XRGB8888 0x1002 +#define __DRI_IMAGE_FORMAT_ARGB8888 0x1003 +#define __DRI_IMAGE_FORMAT_ABGR8888 0x1004 +#define __DRI_IMAGE_FORMAT_XBGR8888 0x1005 +#define __DRI_IMAGE_FORMAT_R8 0x1006 /* Since version 5 */ +#define __DRI_IMAGE_FORMAT_GR88 0x1007 +#define __DRI_IMAGE_FORMAT_NONE 0x1008 +#define __DRI_IMAGE_FORMAT_XRGB2101010 0x1009 +#define __DRI_IMAGE_FORMAT_ARGB2101010 0x100a +#define __DRI_IMAGE_FORMAT_SARGB8 0x100b + +#define __DRI_IMAGE_USE_SHARE 0x0001 +#define __DRI_IMAGE_USE_SCANOUT 0x0002 +#define __DRI_IMAGE_USE_CURSOR 0x0004 /* Depricated */ +#define __DRI_IMAGE_USE_LINEAR 0x0008 + + +/** + * Four CC formats that matches with WL_DRM_FORMAT_* from wayland_drm.h + * and GBM_FORMAT_* from gbm.h, used with createImageFromNames. + * + * \since 5 + */ + +#define __DRI_IMAGE_FOURCC_RGB565 0x36314752 +#define __DRI_IMAGE_FOURCC_ARGB8888 0x34325241 +#define __DRI_IMAGE_FOURCC_XRGB8888 0x34325258 +#define __DRI_IMAGE_FOURCC_ABGR8888 0x34324241 +#define __DRI_IMAGE_FOURCC_XBGR8888 0x34324258 +#define __DRI_IMAGE_FOURCC_YUV410 0x39565559 +#define __DRI_IMAGE_FOURCC_YUV411 0x31315559 +#define __DRI_IMAGE_FOURCC_YUV420 0x32315559 +#define __DRI_IMAGE_FOURCC_YUV422 0x36315559 +#define __DRI_IMAGE_FOURCC_YUV444 0x34325559 +#define __DRI_IMAGE_FOURCC_NV12 0x3231564e +#define __DRI_IMAGE_FOURCC_NV16 0x3631564e +#define __DRI_IMAGE_FOURCC_YUYV 0x56595559 + + +/** + * Queryable on images created by createImageFromNames. + * + * RGB and RGBA are may be usable directly as images but its still + * recommended to call fromPlanar with plane == 0. + * + * Y_U_V, Y_UV and Y_XUXV all requires call to fromPlanar to create + * usable sub-images, sampling from images return raw YUV data and + * color conversion needs to be done in the shader. + * + * \since 5 + */ + +#define __DRI_IMAGE_COMPONENTS_RGB 0x3001 +#define __DRI_IMAGE_COMPONENTS_RGBA 0x3002 +#define __DRI_IMAGE_COMPONENTS_Y_U_V 0x3003 +#define __DRI_IMAGE_COMPONENTS_Y_UV 0x3004 +#define __DRI_IMAGE_COMPONENTS_Y_XUXV 0x3005 + + +/** + * queryImage attributes + */ + +#define __DRI_IMAGE_ATTRIB_STRIDE 0x2000 +#define __DRI_IMAGE_ATTRIB_HANDLE 0x2001 +#define __DRI_IMAGE_ATTRIB_NAME 0x2002 +#define __DRI_IMAGE_ATTRIB_FORMAT 0x2003 /* available in versions 3+ */ +#define __DRI_IMAGE_ATTRIB_WIDTH 0x2004 /* available in versions 4+ */ +#define __DRI_IMAGE_ATTRIB_HEIGHT 0x2005 +#define __DRI_IMAGE_ATTRIB_COMPONENTS 0x2006 /* available in versions 5+ */ +#define __DRI_IMAGE_ATTRIB_FD 0x2007 /* available in versions + * 7+. Each query will return a + * new fd. */ + +enum __DRIYUVColorSpace { + __DRI_YUV_COLOR_SPACE_UNDEFINED = 0, + __DRI_YUV_COLOR_SPACE_ITU_REC601 = 0x327F, + __DRI_YUV_COLOR_SPACE_ITU_REC709 = 0x3280, + __DRI_YUV_COLOR_SPACE_ITU_REC2020 = 0x3281 +}; + +enum __DRISampleRange { + __DRI_YUV_RANGE_UNDEFINED = 0, + __DRI_YUV_FULL_RANGE = 0x3282, + __DRI_YUV_NARROW_RANGE = 0x3283 +}; + +enum __DRIChromaSiting { + __DRI_YUV_CHROMA_SITING_UNDEFINED = 0, + __DRI_YUV_CHROMA_SITING_0 = 0x3284, + __DRI_YUV_CHROMA_SITING_0_5 = 0x3285 +}; + +/** + * \name Reasons that __DRIimageExtensionRec::createImageFromTexture might fail + */ +/*@{*/ +/** Success! */ +#define __DRI_IMAGE_ERROR_SUCCESS 0 + +/** Memory allocation failure */ +#define __DRI_IMAGE_ERROR_BAD_ALLOC 1 + +/** Client requested an invalid attribute for a texture object */ +#define __DRI_IMAGE_ERROR_BAD_MATCH 2 + +/** Client requested an invalid texture object */ +#define __DRI_IMAGE_ERROR_BAD_PARAMETER 3 +/*@}*/ + +typedef struct __DRIimageRec __DRIimage; +typedef struct __DRIimageExtensionRec __DRIimageExtension; +struct __DRIimageExtensionRec { + __DRIextension base; + + __DRIimage *(*createImageFromName)(__DRIscreen *screen, + int width, int height, int format, + int name, int pitch, + void *loaderPrivate); + + __DRIimage *(*createImageFromRenderbuffer)(__DRIcontext *context, + int renderbuffer, + void *loaderPrivate); + + void (*destroyImage)(__DRIimage *image); + + __DRIimage *(*createImage)(__DRIscreen *screen, + int width, int height, int format, + unsigned int use, + void *loaderPrivate); + + GLboolean (*queryImage)(__DRIimage *image, int attrib, int *value); + + /** + * The new __DRIimage will share the content with the old one, see dup(2). + */ + __DRIimage *(*dupImage)(__DRIimage *image, void *loaderPrivate); + + /** + * Validate that a __DRIimage can be used a certain way. + * + * \since 2 + */ + GLboolean (*validateUsage)(__DRIimage *image, unsigned int use); + + /** + * Unlike createImageFromName __DRI_IMAGE_FORMAT is not but instead + * __DRI_IMAGE_FOURCC and strides are in bytes not pixels. Stride is + * also per block and not per pixel (for non-RGB, see gallium blocks). + * + * \since 5 + */ + __DRIimage *(*createImageFromNames)(__DRIscreen *screen, + int width, int height, int fourcc, + int *names, int num_names, + int *strides, int *offsets, + void *loaderPrivate); + + /** + * Create an image out of a sub-region of a parent image. This + * entry point lets us create individual __DRIimages for different + * planes in a planar buffer (typically yuv), for example. While a + * sub-image shares the underlying buffer object with the parent + * image and other sibling sub-images, the life times of parent and + * sub-images are not dependent. Destroying the parent or a + * sub-image doesn't affect other images. The underlying buffer + * object is free when no __DRIimage remains that references it. + * + * Sub-images may overlap, but rendering to overlapping sub-images + * is undefined. + * + * \since 5 + */ + __DRIimage *(*fromPlanar)(__DRIimage *image, int plane, + void *loaderPrivate); + + /** + * Create image from texture. + * + * \since 6 + */ + __DRIimage *(*createImageFromTexture)(__DRIcontext *context, + int target, + unsigned texture, + int depth, + int level, + unsigned *error, + void *loaderPrivate); + /** + * Like createImageFromNames, but takes a prime fd instead. + * + * \since 7 + */ + __DRIimage *(*createImageFromFds)(__DRIscreen *screen, + int width, int height, int fourcc, + int *fds, int num_fds, + int *strides, int *offsets, + void *loaderPrivate); + + /** + * Like createImageFromFds, but takes additional attributes. + * + * For EGL_EXT_image_dma_buf_import. + * + * \since 8 + */ + __DRIimage *(*createImageFromDmaBufs)(__DRIscreen *screen, + int width, int height, int fourcc, + int *fds, int num_fds, + int *strides, int *offsets, + enum __DRIYUVColorSpace color_space, + enum __DRISampleRange sample_range, + enum __DRIChromaSiting horiz_siting, + enum __DRIChromaSiting vert_siting, + unsigned *error, + void *loaderPrivate); +}; + + +/** + * This extension must be implemented by the loader and passed to the + * driver at screen creation time. The EGLImage entry points in the + * various client APIs take opaque EGLImage handles and use this + * extension to map them to a __DRIimage. At version 1, this + * extensions allows mapping EGLImage pointers to __DRIimage pointers, + * but future versions could support other EGLImage-like, opaque types + * with new lookup functions. + */ +#define __DRI_IMAGE_LOOKUP "DRI_IMAGE_LOOKUP" +#define __DRI_IMAGE_LOOKUP_VERSION 1 + +typedef struct __DRIimageLookupExtensionRec __DRIimageLookupExtension; +struct __DRIimageLookupExtensionRec { + __DRIextension base; + + __DRIimage *(*lookupEGLImage)(__DRIscreen *screen, void *image, + void *loaderPrivate); +}; + +/** + * This extension allows for common DRI2 options + */ +#define __DRI2_CONFIG_QUERY "DRI_CONFIG_QUERY" +#define __DRI2_CONFIG_QUERY_VERSION 1 + +typedef struct __DRI2configQueryExtensionRec __DRI2configQueryExtension; +struct __DRI2configQueryExtensionRec { + __DRIextension base; + + int (*configQueryb)(__DRIscreen *screen, const char *var, GLboolean *val); + int (*configQueryi)(__DRIscreen *screen, const char *var, GLint *val); + int (*configQueryf)(__DRIscreen *screen, const char *var, GLfloat *val); +}; + +/** + * Robust context driver extension. + * + * Existence of this extension means the driver can accept the + * \c __DRI_CTX_FLAG_ROBUST_BUFFER_ACCESS flag and the + * \c __DRI_CTX_ATTRIB_RESET_STRATEGY attribute in + * \c __DRIdri2ExtensionRec::createContextAttribs. + */ +#define __DRI2_ROBUSTNESS "DRI_Robustness" +#define __DRI2_ROBUSTNESS_VERSION 1 + +typedef struct __DRIrobustnessExtensionRec __DRIrobustnessExtension; +struct __DRIrobustnessExtensionRec { + __DRIextension base; +}; + +/** + * DRI config options extension. + * + * This extension provides the XML string containing driver options for use by + * the loader in supporting the driconf application. + */ +#define __DRI_CONFIG_OPTIONS "DRI_ConfigOptions" +#define __DRI_CONFIG_OPTIONS_VERSION 1 + +typedef struct __DRIconfigOptionsExtensionRec { + __DRIextension base; + const char *xml; +} __DRIconfigOptionsExtension; + +/** + * This extension provides a driver vtable to a set of common driver helper + * functions (driCoreExtension, driDRI2Extension) within the driver + * implementation, as opposed to having to pass them through a global + * variable. + * + * It is not intended to be public API to the actual loader, and the vtable + * layout may change at any time. + */ +#define __DRI_DRIVER_VTABLE "DRI_DriverVtable" +#define __DRI_DRIVER_VTABLE_VERSION 1 + +typedef struct __DRIDriverVtableExtensionRec { + __DRIextension base; + const struct __DriverAPIRec *vtable; +} __DRIDriverVtableExtension; + +/** + * Query renderer driver extension + * + * This allows the window system layer (either EGL or GLX) to query aspects of + * hardware and driver support without creating a context. + */ +#define __DRI2_RENDERER_QUERY "DRI_RENDERER_QUERY" +#define __DRI2_RENDERER_QUERY_VERSION 1 + +#define __DRI2_RENDERER_VENDOR_ID 0x0000 +#define __DRI2_RENDERER_DEVICE_ID 0x0001 +#define __DRI2_RENDERER_VERSION 0x0002 +#define __DRI2_RENDERER_ACCELERATED 0x0003 +#define __DRI2_RENDERER_VIDEO_MEMORY 0x0004 +#define __DRI2_RENDERER_UNIFIED_MEMORY_ARCHITECTURE 0x0005 +#define __DRI2_RENDERER_PREFERRED_PROFILE 0x0006 +#define __DRI2_RENDERER_OPENGL_CORE_PROFILE_VERSION 0x0007 +#define __DRI2_RENDERER_OPENGL_COMPATIBILITY_PROFILE_VERSION 0x0008 +#define __DRI2_RENDERER_OPENGL_ES_PROFILE_VERSION 0x0009 +#define __DRI2_RENDERER_OPENGL_ES2_PROFILE_VERSION 0x000a + +typedef struct __DRI2rendererQueryExtensionRec __DRI2rendererQueryExtension; +struct __DRI2rendererQueryExtensionRec { + __DRIextension base; + + int (*queryInteger)(__DRIscreen *screen, int attribute, unsigned int *val); + int (*queryString)(__DRIscreen *screen, int attribute, const char **val); +}; + +/** + * Image Loader extension. Drivers use this to allocate color buffers + */ + +enum __DRIimageBufferMask { + __DRI_IMAGE_BUFFER_BACK = (1 << 0), + __DRI_IMAGE_BUFFER_FRONT = (1 << 1) +}; + +struct __DRIimageList { + uint32_t image_mask; + __DRIimage *back; + __DRIimage *front; +}; + +#define __DRI_IMAGE_LOADER "DRI_IMAGE_LOADER" +#define __DRI_IMAGE_LOADER_VERSION 1 + +struct __DRIimageLoaderExtensionRec { + __DRIextension base; + + /** + * Allocate color buffers. + * + * \param driDrawable + * \param width Width of allocated buffers + * \param height Height of allocated buffers + * \param format one of __DRI_IMAGE_FORMAT_* + * \param stamp Address of variable to be updated when + * getBuffers must be called again + * \param loaderPrivate The loaderPrivate for driDrawable + * \param buffer_mask Set of buffers to allocate + * \param buffers Returned buffers + */ + int (*getBuffers)(__DRIdrawable *driDrawable, + unsigned int format, + uint32_t *stamp, + void *loaderPrivate, + uint32_t buffer_mask, + struct __DRIimageList *buffers); + + /** + * Flush pending front-buffer rendering + * + * Any rendering that has been performed to the + * fake front will be flushed to the front + * + * \param driDrawable Drawable whose front-buffer is to be flushed + * \param loaderPrivate Loader's private data that was previously passed + * into __DRIdri2ExtensionRec::createNewDrawable + */ + void (*flushFrontBuffer)(__DRIdrawable *driDrawable, void *loaderPrivate); +}; + +/** + * DRI extension. + */ + +#define __DRI_IMAGE_DRIVER "DRI_IMAGE_DRIVER" +#define __DRI_IMAGE_DRIVER_VERSION 1 + +struct __DRIimageDriverExtensionRec { + __DRIextension base; + + /* Common DRI functions, shared with DRI2 */ + __DRIcreateNewScreen2Func createNewScreen2; + __DRIcreateNewDrawableFunc createNewDrawable; + __DRIcreateContextAttribsFunc createContextAttribs; + __DRIgetAPIMaskFunc getAPIMask; +}; + +#endif diff --git a/nixpkgs/pkgs/servers/x11/xorg/default.nix b/nixpkgs/pkgs/servers/x11/xorg/default.nix new file mode 100644 index 000000000000..3be672c29f17 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/default.nix @@ -0,0 +1,2915 @@ +# THIS IS A GENERATED FILE. DO NOT EDIT! +{ lib, newScope, pixman }: + +lib.makeScope newScope (self: with self; { + + inherit pixman; + + appres = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto, libXt }: stdenv.mkDerivation { + name = "appres-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/appres-1.0.5.tar.bz2; + sha256 = "0a2r4sxky3k7b3kdb5pbv709q9b5zi3gxjz336wl66f828vqkbgz"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + bdftopcf = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "bdftopcf-1.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2; + sha256 = "18hiscgljrz10zjcws25bis32nyrg3hzgmiq6scrh7izqmgz0kab"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + bitmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, xbitmaps, libXmu, xorgproto, libXt }: stdenv.mkDerivation { + name = "bitmap-1.0.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/bitmap-1.0.9.tar.gz; + sha256 = "0kzbv5wh02798l77y9y8d8sjkmzm9cvsn3rjh8a86v5waj50apsb"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw xbitmaps libXmu xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + editres = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, xorgproto, libXt }: stdenv.mkDerivation { + name = "editres-1.0.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/editres-1.0.7.tar.bz2; + sha256 = "04awfwmy3f9f0bchidc4ssbgrbicn5gzasg3jydpfnp5513d76h8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw libXmu xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + encodings = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "encodings-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/encodings-1.0.4.tar.bz2; + sha256 = "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontadobe100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-adobe-100dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-adobe-100dpi-1.0.3.tar.bz2; + sha256 = "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontadobe75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-adobe-75dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-adobe-75dpi-1.0.3.tar.bz2; + sha256 = "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontadobeutopia100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-adobe-utopia-100dpi-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-adobe-utopia-100dpi-1.0.4.tar.bz2; + sha256 = "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontadobeutopia75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-adobe-utopia-75dpi-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-adobe-utopia-75dpi-1.0.4.tar.bz2; + sha256 = "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontadobeutopiatype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-adobe-utopia-type1-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-adobe-utopia-type1-1.0.4.tar.bz2; + sha256 = "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontalias = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "font-alias-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-alias-1.0.3.tar.bz2; + sha256 = "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontarabicmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-arabic-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-arabic-misc-1.0.3.tar.bz2; + sha256 = "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbh100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-bh-100dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bh-100dpi-1.0.3.tar.bz2; + sha256 = "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbh75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-bh-75dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bh-75dpi-1.0.3.tar.bz2; + sha256 = "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbhlucidatypewriter100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-bh-lucidatypewriter-100dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2; + sha256 = "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbhlucidatypewriter75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-bh-lucidatypewriter-75dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2; + sha256 = "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbhttf = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-bh-ttf-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bh-ttf-1.0.3.tar.bz2; + sha256 = "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbhtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-bh-type1-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bh-type1-1.0.3.tar.bz2; + sha256 = "1hb3iav089albp4sdgnlh50k47cdjif9p4axm0kkjvs8jyi5a53n"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbitstream100dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-bitstream-100dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bitstream-100dpi-1.0.3.tar.bz2; + sha256 = "1kmn9jbck3vghz6rj3bhc3h0w6gh0qiaqm90cjkqsz1x9r2dgq7b"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbitstream75dpi = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-bitstream-75dpi-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bitstream-75dpi-1.0.3.tar.bz2; + sha256 = "13plbifkvfvdfym6gjbgy9wx2xbdxi9hfrl1k22xayy02135wgxs"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontbitstreamtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-bitstream-type1-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-bitstream-type1-1.0.3.tar.bz2; + sha256 = "1256z0jhcf5gbh1d03593qdwnag708rxqa032izmfb5dmmlhbsn6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontcronyxcyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-cronyx-cyrillic-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-cronyx-cyrillic-1.0.3.tar.bz2; + sha256 = "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontcursormisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-cursor-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-cursor-misc-1.0.3.tar.bz2; + sha256 = "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontdaewoomisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-daewoo-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-daewoo-misc-1.0.3.tar.bz2; + sha256 = "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontdecmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-dec-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-dec-misc-1.0.3.tar.bz2; + sha256 = "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontibmtype1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-ibm-type1-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-ibm-type1-1.0.3.tar.bz2; + sha256 = "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontisasmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-isas-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-isas-misc-1.0.3.tar.bz2; + sha256 = "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontjismisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-jis-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-jis-misc-1.0.3.tar.bz2; + sha256 = "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontmicromisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-micro-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-micro-misc-1.0.3.tar.bz2; + sha256 = "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontmisccyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-misc-cyrillic-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-misc-cyrillic-1.0.3.tar.bz2; + sha256 = "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontmiscethiopic = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-misc-ethiopic-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-misc-ethiopic-1.0.3.tar.bz2; + sha256 = "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontmiscmeltho = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-misc-meltho-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-misc-meltho-1.0.3.tar.bz2; + sha256 = "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontmiscmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-misc-misc-1.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-misc-misc-1.1.2.tar.bz2; + sha256 = "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontmuttmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-mutt-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-mutt-misc-1.0.3.tar.bz2; + sha256 = "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontschumachermisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, fontutil, mkfontscale }: stdenv.mkDerivation { + name = "font-schumacher-misc-1.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-schumacher-misc-1.1.2.tar.bz2; + sha256 = "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf fontutil mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontscreencyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-screen-cyrillic-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-screen-cyrillic-1.0.4.tar.bz2; + sha256 = "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontsonymisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-sony-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-sony-misc-1.0.3.tar.bz2; + sha256 = "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontsunmisc = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-sun-misc-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-sun-misc-1.0.3.tar.bz2; + sha256 = "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fonttosfnt = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, freetype, xorgproto }: stdenv.mkDerivation { + name = "fonttosfnt-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/fonttosfnt-1.0.5.tar.bz2; + sha256 = "00w5in1gznai141wishz8ng7spvi5274n16zj0pdl1ma2vsmy2n8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libfontenc freetype xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontutil = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "font-util-1.3.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-util-1.3.1.tar.bz2; + sha256 = "08drjb6cf84pf5ysghjpb4i7xkd2p86k3wl2a0jxs1jif6qbszma"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontwinitzkicyrillic = callPackage ({ stdenv, pkgconfig, fetchurl, bdftopcf, mkfontscale }: stdenv.mkDerivation { + name = "font-winitzki-cyrillic-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-winitzki-cyrillic-1.0.3.tar.bz2; + sha256 = "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig bdftopcf mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + fontxfree86type1 = callPackage ({ stdenv, pkgconfig, fetchurl, mkfontscale }: stdenv.mkDerivation { + name = "font-xfree86-type1-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/font/font-xfree86-type1-1.0.4.tar.bz2; + sha256 = "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig mkfontscale ]; + buildInputs = [ ]; + configureFlags = [ "--with-fontrootdir=$(out)/lib/X11/fonts" ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + gccmakedep = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "gccmakedep-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2; + sha256 = "1r1fpy5ni8chbgx7j5sz0008fpb6vbazpy1nifgdhgijyzqxqxdj"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + iceauth = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, xorgproto }: stdenv.mkDerivation { + name = "iceauth-1.0.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/iceauth-1.0.8.tar.bz2; + sha256 = "1ik0mdidmyvy48hn8p2hwvf3535rf3m96hhf0mvcqrbj44x23vp6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libICE xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + ico = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "ico-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/ico-1.0.5.tar.bz2; + sha256 = "0gvpwfk9kvlfn631dgizc45qc2qqjn9pavdp2q7qb3drkvr64fyp"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + imake = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "imake-1.0.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/util/imake-1.0.8.tar.bz2; + sha256 = "00m7l90ws72k1qm101sd2rx92ckd50cszyng5d4dd77jncbf9lmq"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libAppleWM = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext }: stdenv.mkDerivation { + name = "libAppleWM-1.4.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libAppleWM-1.4.1.tar.bz2; + sha256 = "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libFS = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xtrans }: stdenv.mkDerivation { + name = "libFS-1.0.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libFS-1.0.8.tar.bz2; + sha256 = "03xxyvpfa3rhqcld4p2chkil482jn9cp80hj17jdybcv2hkkgqf8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xtrans ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libICE = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xtrans }: stdenv.mkDerivation { + name = "libICE-1.0.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2; + sha256 = "00p2b6bsg6kcdbb39bv46339qcywxfl4hsrz8asm4hy6q7r34w4g"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xtrans ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libSM = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libuuid, xorgproto, xtrans }: stdenv.mkDerivation { + name = "libSM-1.2.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libSM-1.2.3.tar.bz2; + sha256 = "1fwwfq9v3sqmpzpscymswxn76xhxnysa24pfim1mcpxhvjcl89id"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libICE libuuid xorgproto xtrans ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libWindowsWM = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext }: stdenv.mkDerivation { + name = "libWindowsWM-1.0.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2; + sha256 = "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libX11 = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libxcb, xtrans }: stdenv.mkDerivation { + name = "libX11-1.6.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libX11-1.6.7.tar.bz2; + sha256 = "0j0k5bjz4kd7rx6z09n5ggxbzbi84wf78xx25ikx6jmsxwq9w3li"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libxcb xtrans ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXScrnSaver = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext }: stdenv.mkDerivation { + name = "libXScrnSaver-1.2.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXScrnSaver-1.2.3.tar.bz2; + sha256 = "1y4vx1vabg7j9hamp0vrfrax5b0lmgm3h0lbgbb3hnkv3dd0f5zr"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXTrap = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext, libXt }: stdenv.mkDerivation { + name = "libXTrap-1.0.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2; + sha256 = "0bi5wxj6avim61yidh9fd3j4n8czxias5m8vss9vhxjnk1aksdwg"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXau = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "libXau-1.0.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXau-1.0.9.tar.bz2; + sha256 = "1v3krc6x0zliaa66qq1bf9j60x5nqfy68v8axaiglxpnvgqcpy6c"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXaw = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto, libXmu, libXpm, libXt }: stdenv.mkDerivation { + name = "libXaw-1.0.13"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2; + sha256 = "1kdhxplwrn43d9jp3v54llp05kwx210lrsdvqb6944jp29rhdy4f"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext xorgproto libXmu libXpm libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXaw3d = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, libXpm, xorgproto, libXt }: stdenv.mkDerivation { + name = "libXaw3d-1.6.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXaw3d-1.6.3.tar.bz2; + sha256 = "0i653s8g25cc0mimkwid9366bqkbyhdyjhckx7bw77j20hzrkfid"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext libXmu libXpm xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXcomposite = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXfixes }: stdenv.mkDerivation { + name = "libXcomposite-0.4.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXcomposite-0.4.5.tar.bz2; + sha256 = "13sfcglvz87vl58hd9rszwr73z0z4nwga3c12rfh7f5s2ln8l8dk"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXfixes ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXcursor = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXfixes, libXrender }: stdenv.mkDerivation { + name = "libXcursor-1.2.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXcursor-1.2.0.tar.bz2; + sha256 = "10l7c9fm0jmpkm9ab9dz8r6m1pr87vvgqjnbx1psz50h4pwfklrs"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXfixes libXrender ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXdamage = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXfixes }: stdenv.mkDerivation { + name = "libXdamage-1.1.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXdamage-1.1.5.tar.bz2; + sha256 = "0igaw2akjf712y3rv7lx473jigxmcv9rs9y8sbrvbhya8f30cd5p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXfixes ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXdmcp = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "libXdmcp-1.1.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXdmcp-1.1.3.tar.bz2; + sha256 = "0ab53h0rkq721ihk5hi469x500f3pgbkm1wy01yf24x5m923nli0"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXext = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "libXext-1.3.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXext-1.3.4.tar.bz2; + sha256 = "0azqxllcsfxc3ilhz6kwc6x7m8wc477p59ir9p0yrsldx766zbar"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXfixes = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11 }: stdenv.mkDerivation { + name = "libXfixes-5.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXfixes-5.0.3.tar.bz2; + sha256 = "1miana3y4hwdqdparsccmygqr3ic3hs5jrqfzp70hvi2zwxd676y"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXfont = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, xorgproto, freetype, xtrans, zlib }: stdenv.mkDerivation { + name = "libXfont-1.5.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2; + sha256 = "0hiji1bvpl78aj3a3141hkk353aich71wv8l5l2z51scfy878zqs"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libfontenc xorgproto freetype xtrans zlib ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXfont2 = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, xorgproto, freetype, xtrans, zlib }: stdenv.mkDerivation { + name = "libXfont2-2.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2; + sha256 = "0klwmimmhm3axpj8pwn5l41lbggh47r5aazhw63zxkbwfgyvg2hf"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libfontenc xorgproto freetype xtrans zlib ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXft = callPackage ({ stdenv, pkgconfig, fetchurl, fontconfig, freetype, libX11, xorgproto, libXrender }: stdenv.mkDerivation { + name = "libXft-2.3.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXft-2.3.3.tar.bz2; + sha256 = "05lja9s54090xwh31r0bqms4v3pimng5xr09g2rdnafx2vk6hp12"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ fontconfig freetype libX11 xorgproto libXrender ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXi = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext, libXfixes }: stdenv.mkDerivation { + name = "libXi-1.7.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2; + sha256 = "0idg1wc01hndvaa820fvfs7phvd1ymf0lldmq6386i7rhkzvirn2"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext libXfixes ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXinerama = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto }: stdenv.mkDerivation { + name = "libXinerama-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2; + sha256 = "086p0axqj57nvkaqa6r00dnr9kyrn1m8blgf0zjy25zpxkbxn200"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXmu = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto, libXt }: stdenv.mkDerivation { + name = "libXmu-1.1.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXmu-1.1.3.tar.bz2; + sha256 = "0cdpqnx6258i4l6qhphvkdiyspysg0i5caqjy820kp63wwjk4d4w"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXp = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXau, libXext }: stdenv.mkDerivation { + name = "libXp-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXp-1.0.3.tar.bz2; + sha256 = "0mwc2jwmq03b1m9ihax5c6gw2ln8rc70zz4fsj3kb7440nchqdkz"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXau libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXpm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto, libXt, gettext }: stdenv.mkDerivation { + name = "libXpm-3.5.12"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2; + sha256 = "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig gettext ]; + buildInputs = [ libX11 libXext xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXpresent = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11 }: stdenv.mkDerivation { + name = "libXpresent-1.0.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2; + sha256 = "12kvvar3ihf6sw49h6ywfdiwmb8i1gh8wasg1zhzp6hs2hay06n1"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXrandr = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext, libXrender }: stdenv.mkDerivation { + name = "libXrandr-1.5.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXrandr-1.5.2.tar.bz2; + sha256 = "08z0mqywrm7ij8bxlfrx0d2wy6kladdmkva1nw5k6qix82z0xsla"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext libXrender ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXrender = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11 }: stdenv.mkDerivation { + name = "libXrender-0.9.10"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXrender-0.9.10.tar.bz2; + sha256 = "0j89cnb06g8x79wmmnwzykgkkfdhin9j7hjpvsxwlr3fz1wmjvf0"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXres = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext }: stdenv.mkDerivation { + name = "libXres-1.2.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXres-1.2.0.tar.bz2; + sha256 = "1m0jr0lbz9ixpp9ihk68349q0i7ry2379lnfzdy4mrl86ijc2xgz"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXt = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, xorgproto, libSM, libX11 }: stdenv.mkDerivation { + name = "libXt-1.1.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2; + sha256 = "06lz6i7rbrp19kgikpaz4c97fw7n31k2h2aiikczs482g2zbdvj6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libICE xorgproto libSM libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXtst = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext, libXi }: stdenv.mkDerivation { + name = "libXtst-1.2.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXtst-1.2.3.tar.bz2; + sha256 = "012jpyj7xfm653a9jcfqbzxyywdmwb2b5wr1dwylx14f3f54jma6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext libXi ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXv = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext }: stdenv.mkDerivation { + name = "libXv-1.0.11"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXv-1.0.11.tar.bz2; + sha256 = "125hn06bd3d8y97hm2pbf5j55gg4r2hpd3ifad651i4sr7m16v6j"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXvMC = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext, libXv }: stdenv.mkDerivation { + name = "libXvMC-1.0.11"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXvMC-1.0.11.tar.bz2; + sha256 = "0bb2c996p0smp2lwckffcfh4701bzv7266xh230ag0x68ka38bja"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext libXv ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXxf86dga = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto }: stdenv.mkDerivation { + name = "libXxf86dga-1.1.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXxf86dga-1.1.5.tar.bz2; + sha256 = "00vjvcdlc1sga251jkxn6gkxmx9h5n290ffxxpa40qbca1gvr61b"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXxf86misc = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto }: stdenv.mkDerivation { + name = "libXxf86misc-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXxf86misc-1.0.4.tar.bz2; + sha256 = "107k593sx27vjz3v7gbb223add9i7w0bjc90gbb3jqpin3i07758"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libXxf86vm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, xorgproto }: stdenv.mkDerivation { + name = "libXxf86vm-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2; + sha256 = "0mydhlyn72i7brjwypsqrpkls3nm6vxw0li8b2nw0caz7kwjgvmg"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libdmx = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext }: stdenv.mkDerivation { + name = "libdmx-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libdmx-1.1.4.tar.bz2; + sha256 = "0hvjfhrcym770cr0zpqajdy3cda30aiwbjzv16iafkqkbl090gr5"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libfontenc = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, zlib }: stdenv.mkDerivation { + name = "libfontenc-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libfontenc-1.1.4.tar.bz2; + sha256 = "0y90170dp8wsidr1dzza0grxr1lfh30ji3b5vkjz4j6x1n0wxz1c"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto zlib ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libpciaccess = callPackage ({ stdenv, pkgconfig, fetchurl, zlib }: stdenv.mkDerivation { + name = "libpciaccess-0.14"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2; + sha256 = "197jbcpvp4z4x6j705mq2y4fsnnypy6f85y8xalgwhgx5bhl7x9x"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ zlib ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libpthreadstubs = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "libpthread-stubs-0.4"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2; + sha256 = "0cz7s9w8lqgzinicd4g36rjg08zhsbyngh0w68c3np8nlc8mkl74"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libxcb = callPackage ({ stdenv, pkgconfig, fetchurl, libxslt, libpthreadstubs, libXau, xcbproto, libXdmcp, python }: stdenv.mkDerivation { + name = "libxcb-1.13.1"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2; + sha256 = "1i27lvrcsygims1pddpl5c4qqs6z715lm12ax0n3vx0igapvg7x8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig python ]; + buildInputs = [ libxslt libpthreadstubs libXau xcbproto libXdmcp ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libxkbfile = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11 }: stdenv.mkDerivation { + name = "libxkbfile-1.1.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libxkbfile-1.1.0.tar.bz2; + sha256 = "1irq9crvscd3yb8sr802dhvvfr35jdy1n2yz094xplmd42mbv3bm"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + libxshmfence = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "libxshmfence-1.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2; + sha256 = "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + listres = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXmu, xorgproto, libXt }: stdenv.mkDerivation { + name = "listres-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/listres-1.0.4.tar.bz2; + sha256 = "041bxkvv6f92sm3hhm977c4gdqdv5r1jyxjqcqfi8vkrg3s2j4ka"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXaw libXmu xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + lndir = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "lndir-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/util/lndir-1.0.3.tar.bz2; + sha256 = "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + luit = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "luit-20190106"; + builder = ./builder.sh; + src = fetchurl { + url = https://invisible-mirror.net/archives/luit/luit-20190106.tgz; + sha256 = "081rrajj5hpgx3pvm43grqzscnq5kl320q0wq6zzhf6wrijhz41b"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + makedepend = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "makedepend-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2; + sha256 = "072h9nzh8s5vqfz35dli4fba36fnr219asjrb7p89n8ph0paan6m"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + mkfontscale = callPackage ({ stdenv, pkgconfig, fetchurl, libfontenc, freetype, xorgproto, zlib }: stdenv.mkDerivation { + name = "mkfontscale-1.2.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/mkfontscale-1.2.1.tar.bz2; + sha256 = "1ixsnsm2mn0zy9ksdid0lj6irnhvasfik9mz8bbrs5sajzmra16a"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libfontenc freetype xorgproto zlib ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + oclock = callPackage ({ stdenv, pkgconfig, fetchurl, libxkbfile, libX11, libXext, libXmu, libXt }: stdenv.mkDerivation { + name = "oclock-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/oclock-1.0.4.tar.bz2; + sha256 = "1zmfzfmdp42nvapf0qz1bc3i3waq5sjrpkgfw64qs4nmq30wy86c"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libxkbfile libX11 libXext libXmu libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + sessreg = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto }: stdenv.mkDerivation { + name = "sessreg-1.1.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/sessreg-1.1.1.tar.bz2; + sha256 = "1qd66mg2bnppqz4xgdjzif2488zl82vx2c26ld3nb8pnyginm9vq"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + setxkbmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation { + name = "setxkbmap-1.3.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2; + sha256 = "1qfk097vjysqb72pq89h0la3462kbb2dh1d11qzs2fr67ybb7pd9"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libxkbfile ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + smproxy = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libXmu, libXt }: stdenv.mkDerivation { + name = "smproxy-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2; + sha256 = "0rkjyzmsdqmlrkx8gy2j4q6iksk58hcc92xzdprkf8kml9ar3wbc"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libICE libSM libXmu libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + transset = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "transset-1.0.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/transset-1.0.2.tar.bz2; + sha256 = "088v8p0yfn4r3azabp6662hqikfs2gjb9xmjjd45gnngwwp19b2b"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + twm = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libX11, libXext, libXmu, xorgproto, libXt }: stdenv.mkDerivation { + name = "twm-1.0.10"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/twm-1.0.10.tar.bz2; + sha256 = "1ms5cj1w3g26zg6bxdv1j9hl0pxr4300qnv003cz1q3cl7ffljb4"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libICE libSM libX11 libXext libXmu xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + utilmacros = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "util-macros-1.19.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2; + sha256 = "04p7ydqxgq37jklnfj18b70zsifiz4h50wvrk94i2112mmv37r6p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + viewres = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXmu, libXt }: stdenv.mkDerivation { + name = "viewres-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/viewres-1.0.5.tar.bz2; + sha256 = "1mz319kfmvcrdpi22dmdr91mif1j0j3ck1f8mmnz5g1r9kl1in2y"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXaw libXmu libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + x11perf = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXft, libXmu, xorgproto, libXrender }: stdenv.mkDerivation { + name = "x11perf-1.6.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/x11perf-1.6.1.tar.bz2; + sha256 = "0d3wh6z6znwhfdiv0zaggfj0xgish98xa10yy76b9517zj7hnzhw"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext libXft libXmu xorgproto libXrender ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xauth = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXext, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xauth-1.0.10"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xauth-1.0.10.tar.bz2; + sha256 = "0kgwz9rmxjfdvi2syf8g0ms5rr5cgyqx4n0n1m960kyz7k745zjs"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXau libXext libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xbacklight = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb, xcbutil }: stdenv.mkDerivation { + name = "xbacklight-1.2.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2; + sha256 = "0pmzaz4kp38qv2lqiw5rnqhwzmwrq65m1x5j001mmv99wh9isnk1"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libxcb xcbutil ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xbitmaps = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "xbitmaps-1.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/data/xbitmaps-1.1.2.tar.bz2; + sha256 = "1vh73sc13s7w5r6gnc6irca56s7998bja7wgdivkfn8jccawgw5r"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcalc = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, xorgproto, libXt }: stdenv.mkDerivation { + name = "xcalc-1.1.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xcalc-1.1.0.tar.bz2; + sha256 = "1sxmlcb0sb3h4z05kl5l0kxnhrc0h8c74p9m3zdc7bv58jaldmym"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbproto = callPackage ({ stdenv, pkgconfig, fetchurl, python }: stdenv.mkDerivation { + name = "xcb-proto-1.13"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2; + sha256 = "1qdxw9syhbvswiqj5dvj278lrmfhs81apzmvx6205s4vcqg7563v"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig python ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-0.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2; + sha256 = "1sahmrgbpyki4bb72hxym0zvxwnycmswsxiisgqlln9vrdlr9r26"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutilcursor = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xcbutilimage, xcbutilrenderutil, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-cursor-0.1.3"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2; + sha256 = "0krr4rcw6r42cncinzvzzdqnmxk3nrgpnadyg2h8k9x10q3hm885"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xcbutilimage xcbutilrenderutil xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutilerrors = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xcbproto, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-errors-1.0"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2; + sha256 = "158rm913dg3hxrrhyvvxr8bcm0pjy5jws70dhy2s12w1krv829k8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xcbproto xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutilimage = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xcbutil, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-image-0.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2; + sha256 = "1z1gxacg7q4cw6jrd26gvi5y04npsyavblcdad1xccc8swvnmf9d"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xcbutil xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutilkeysyms = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-keysyms-0.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2; + sha256 = "1nbd45pzc1wm6v5drr5338j4nicbgxa5hcakvsvm5pnyy47lky0f"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutilrenderutil = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-renderutil-0.3.9"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2; + sha256 = "0nza1csdvvxbmk8vgv8vpmq7q8h05xrw3cfx9lwxd1hjzd47xsf6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcbutilwm = callPackage ({ stdenv, pkgconfig, fetchurl, gperf, libxcb, xorgproto, m4 }: stdenv.mkDerivation { + name = "xcb-util-wm-0.4.1"; + builder = ./builder.sh; + src = fetchurl { + url = https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2; + sha256 = "0gra7hfyxajic4mjd63cpqvd20si53j1q3rbdlkqkahfciwq3gr8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig m4 ]; + buildInputs = [ gperf libxcb xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xclock = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXft, libxkbfile, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation { + name = "xclock-1.0.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xclock-1.0.8.tar.bz2; + sha256 = "0m92zhamh15my9f2rqa14q41d6k2cn468azm3g7g3w9n7942024k"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw libXft libxkbfile libXmu xorgproto libXrender libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcmsdb = callPackage ({ stdenv, pkgconfig, fetchurl, libX11 }: stdenv.mkDerivation { + name = "xcmsdb-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2; + sha256 = "1ik7gzlp2igz183x70883000ygp99r20x3aah6xhaslbpdhm6n75"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcompmgr = callPackage ({ stdenv, pkgconfig, fetchurl, libXcomposite, libXdamage, libXext, libXfixes, libXrender }: stdenv.mkDerivation { + name = "xcompmgr-1.1.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xcompmgr-1.1.8.tar.bz2; + sha256 = "0hvjkanrdlvk3ln5a1jx3c9ggziism2jr1na7jl3zyk0y3sdm28b"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXcomposite libXdamage libXext libXfixes libXrender ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xconsole = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, xorgproto, libXt }: stdenv.mkDerivation { + name = "xconsole-1.0.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xconsole-1.0.7.tar.bz2; + sha256 = "1q2ib1626i5da0nda09sp3vzppjrcn82fff83cw7hwr0vy14h56i"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw libXmu xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcursorgen = callPackage ({ stdenv, pkgconfig, fetchurl, libpng, libX11, libXcursor }: stdenv.mkDerivation { + name = "xcursorgen-1.0.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xcursorgen-1.0.7.tar.bz2; + sha256 = "0ggbv084cavp52hjgcz3vdj0g018axs0m23c03lpc5sgn92gidim"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libpng libX11 libXcursor ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xcursorthemes = callPackage ({ stdenv, pkgconfig, fetchurl, libXcursor }: stdenv.mkDerivation { + name = "xcursor-themes-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/data/xcursor-themes-1.0.6.tar.bz2; + sha256 = "16a96li0s0ggg60v7f6ywxmsrmxdfizcw55ccv7sp4qjfisca7pf"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXcursor ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xdm = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXaw, libXdmcp, libXext, libXft, libXinerama, libXmu, libXpm, xorgproto, libXrender, libXt }: stdenv.mkDerivation { + name = "xdm-1.1.12"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xdm-1.1.12.tar.bz2; + sha256 = "1x17hdymf6rd8jmh4n1sd4g5a8ayr5w94nwjw84qs2fs5pvq7lhd"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXau libXaw libXdmcp libXext libXft libXinerama libXmu libXpm xorgproto libXrender libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xdpyinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libdmx, libX11, libxcb, libXcomposite, libXext, libXi, libXinerama, xorgproto, libXrender, libXtst, libXxf86dga, libXxf86misc, libXxf86vm }: stdenv.mkDerivation { + name = "xdpyinfo-1.3.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2; + sha256 = "0ldgrj4w2fa8jng4b3f3biaj0wyn8zvya88pnk70d7k12pcqw8rh"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libdmx libX11 libxcb libXcomposite libXext libXi libXinerama xorgproto libXrender libXtst libXxf86dga libXxf86misc libXxf86vm ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xdriinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libGL, xorgproto, libX11 }: stdenv.mkDerivation { + name = "xdriinfo-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xdriinfo-1.0.6.tar.bz2; + sha256 = "0lcx8h3zd11m4w8wf7dyp89826d437iz78cyrix436bqx31x5k6r"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libGL xorgproto libX11 ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xev = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto, libXrandr }: stdenv.mkDerivation { + name = "xev-1.2.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xev-1.2.3.tar.bz2; + sha256 = "02ddsdx138g7szhwklpbzi0cxr34871iay3k28kdcihrz8f4zg36"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto libXrandr ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xeyes = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, xorgproto, libXrender, libXt }: stdenv.mkDerivation { + name = "xeyes-1.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2; + sha256 = "0lq5j7fryx1wn998jq6h3icz1h6pqrsbs3adskjzjyhn5l6yrg2p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext libXmu xorgproto libXrender libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputevdev = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libevdev, udev, mtdev, xorgserver }: stdenv.mkDerivation { + name = "xf86-input-evdev-2.10.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2; + sha256 = "1h1y0fwnawlp4yc5llr1l7hwfcxxpln2fxhy6arcf6w6h4z0f9l7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libevdev udev mtdev xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputjoystick = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-input-joystick-1.6.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2; + sha256 = "1awfq496d082brgjbr60lhm6jvr9537rflwxqdfqwfzjy3n6jxly"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputkeyboard = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-input-keyboard-1.9.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2; + sha256 = "12032yg412kyvnmc5fha1in7mpi651d8sa1bk4138s2j2zr01jgp"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputlibinput = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libinput, xorgserver }: stdenv.mkDerivation { + name = "xf86-input-libinput-0.28.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-libinput-0.28.2.tar.bz2; + sha256 = "0818vr0yhk9j1y1wcbxzcd458vrvp06rrhi8k43bhqkb5jb4dcxq"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libinput xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputmouse = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-input-mouse-1.9.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-mouse-1.9.3.tar.bz2; + sha256 = "1iawr1wyl2qch1mqszcs0s84i92mh4xxprflnycbw1adc18b7v4k"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputsynaptics = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libevdev, libX11, libXi, xorgserver, libXtst }: stdenv.mkDerivation { + name = "xf86-input-synaptics-1.9.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2; + sha256 = "0xhm03qywwfgkpfl904d08lx00y28m1b6lqmks5nxizixwk3by3s"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libevdev libX11 libXi xorgserver libXtst ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputvmmouse = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, udev, xorgserver }: stdenv.mkDerivation { + name = "xf86-input-vmmouse-13.1.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2; + sha256 = "06ckn4hlkpig5vnivl0zj8a7ykcgvrsj8b3iccl1pgn1gaamix8a"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto udev xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86inputvoid = callPackage ({ stdenv, pkgconfig, fetchurl, xorgserver, xorgproto }: stdenv.mkDerivation { + name = "xf86-input-void-1.4.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2; + sha256 = "171k8b8s42s3w73l7ln9jqwk88w4l7r1km2blx1vy898c854yvpr"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgserver xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoamdgpu = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, mesa, libGL, libdrm, udev, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-amdgpu-19.0.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-amdgpu-19.0.1.tar.bz2; + sha256 = "1mf6s7i423b2xyl469kwnakrpp5fr41sm8hh7vli5jxdd8crg8da"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto mesa libGL libdrm udev xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoapm = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-apm-1.3.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-apm-1.3.0.tar.bz2; + sha256 = "0znwqfc8abkiha98an8hxsngnz96z6cd976bc4bsvz1km6wqk0c0"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoark = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-ark-0.7.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2; + sha256 = "07p5vdsj2ckxb6wh02s61akcv4qfg6s1d5ld3jn3lfaayd3f1466"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoast = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-ast-1.1.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2; + sha256 = "1pm2cy81ma7ldsw0yfk28b33h9z2hcj5rccrxhfxfgvxsiavrnqy"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoati = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, mesa, libGL, libdrm, udev, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-ati-19.0.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-ati-19.0.1.tar.bz2; + sha256 = "1c31g5q5p3nk9nscwikh1vvfnhdwsxiw7j8v678nlm34hrfh3djw"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto mesa libGL libdrm udev libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videochips = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-chips-1.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-chips-1.4.0.tar.bz2; + sha256 = "1gqzy7q9v824m7hqkbbmncxg082zm0d4mafgc97c4skyiwgf9wq7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videocirrus = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-cirrus-1.5.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2; + sha256 = "1asifc6ld2g9kap15vfhvsvyl69lj7pw3d9ra9mi4najllh7pj7d"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videodummy = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-dummy-0.3.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-dummy-0.3.8.tar.bz2; + sha256 = "1fcm9vwgv8wnffbvkzddk4yxrh3kc0np6w65wj8k88q7jf3bn4ip"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videofbdev = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-fbdev-0.5.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-fbdev-0.5.0.tar.bz2; + sha256 = "16a66zr0l1lmssa07i3rzy07djxnb45c17ks8c71h8l06xgxihyw"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videogeode = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-geode-2.11.19"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-geode-2.11.19.tar.bz2; + sha256 = "0zn9gb49grds5mcs1dlrx241k2w1sgqmx4i5x7v6159xxqhlqsf6"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoglide = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-glide-1.2.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2; + sha256 = "1vaav6kx4n00q4fawgqnjmbdkppl0dir2dkrj4ad372mxrvl9c4y"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoglint = callPackage ({ stdenv, pkgconfig, fetchurl, libpciaccess, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-glint-1.2.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-glint-1.2.9.tar.bz2; + sha256 = "1lkpspvrvrp9s539bhfdjfh4andaqyk63l6zjn8m3km95smk6a45"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libpciaccess xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoi128 = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-i128-1.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-i128-1.4.0.tar.bz2; + sha256 = "1snhpv1igrhifcls3r498kjd14ml6x2xvih7zk9xlsd1ymmhlb4g"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoi740 = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-i740-1.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-i740-1.4.0.tar.bz2; + sha256 = "0l3s1m95bdsg4gki943qipq8agswbb84dzcflpxa3vlckwhh3r26"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videointel = callPackage ({ stdenv, pkgconfig, fetchurl, cairo, xorgproto, libdrm, libpng, udev, libpciaccess, libX11, xcbutil, libxcb, libXcursor, libXdamage, libXext, libXfixes, xorgserver, libXrandr, libXrender, libxshmfence, libXtst, libXvMC }: stdenv.mkDerivation { + name = "xf86-video-intel-2.99.917"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2; + sha256 = "1jb7jspmzidfixbc0gghyjmnmpqv85i7pi13l4h2hn2ml3p83dq0"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ cairo xorgproto libdrm libpng udev libpciaccess libX11 xcbutil libxcb libXcursor libXdamage libXext libXfixes xorgserver libXrandr libXrender libxshmfence libXtst libXvMC ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videomach64 = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-mach64-6.9.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-mach64-6.9.6.tar.bz2; + sha256 = "171wg8r6py1l138s58rlapin3rlpwsg9spmvhc7l68mm3g3hf1vs"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videomga = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-mga-2.0.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-mga-2.0.0.tar.bz2; + sha256 = "0yaxpgyyj9398nzzr5vnsfxcis76z46p9814yzj8179yl7hld296"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoneomagic = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-neomagic-1.3.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-neomagic-1.3.0.tar.bz2; + sha256 = "0r4h673kw8fl7afc30anwbjlbhp82mg15fvaxf470xg7z983k0wk"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videonewport = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-newport-0.2.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-newport-0.2.4.tar.bz2; + sha256 = "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videonouveau = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, udev, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-nouveau-1.0.15"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-nouveau-1.0.15.tar.bz2; + sha256 = "0k0xah72ryjwak4dc4crszxrlkmi9x1s7p3sd4la642n77yi1pmf"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm udev libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videonv = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-nv-2.1.21"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-nv-2.1.21.tar.bz2; + sha256 = "0bdk3pc5y0n7p53q4gc2ff7bw16hy5hwdjjxkm5j3s7hdyg6960z"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoomap = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-omap-0.4.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-omap-0.4.5.tar.bz2; + sha256 = "0nmbrx6913dc724y8wj2p6vqfbj5zdjfmsl037v627jj0whx9rwk"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoopenchrome = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, udev, libpciaccess, libX11, libXext, xorgserver, libXvMC }: stdenv.mkDerivation { + name = "xf86-video-openchrome-0.6.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2; + sha256 = "0x9gq3hw6k661k82ikd1y2kkk4dmgv310xr5q59dwn4k6z37aafs"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm udev libpciaccess libX11 libXext xorgserver libXvMC ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoqxl = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, udev, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-qxl-0.1.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-qxl-0.1.5.tar.bz2; + sha256 = "14jc24znnahhmz4kqalafmllsg8awlz0y6gpgdpk5ih38ph851mi"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm udev libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videor128 = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-r128-6.11.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-r128-6.11.0.tar.bz2; + sha256 = "0snvwmrh8dqyyaq7ggicym6yrsg4brygkx9156r0m095m7fp3rav"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videorendition = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-rendition-4.2.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-rendition-4.2.7.tar.bz2; + sha256 = "0yzqcdfrnnyaaaa76d4hpwycpq4x2j8qvg9m4q19lj4xbicwc4cm"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videos3virge = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-s3virge-1.11.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-s3virge-1.11.0.tar.bz2; + sha256 = "06d1v5s7xf00y18x12cz11sk00rgn0yq95w66kmgzy465pzxvj84"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosavage = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-savage-2.3.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-savage-2.3.9.tar.bz2; + sha256 = "11pcrsdpdrwk0mrgv83s5nsx8a9i4lhmivnal3fjbrvi3zdw94rc"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosiliconmotion = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-siliconmotion-1.7.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.9.tar.bz2; + sha256 = "1g2r6gxqrmjdff95d42msxdw6vmkg2zn5sqv0rxd420iwy8wdwyh"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosis = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-sis-0.10.9"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-sis-0.10.9.tar.bz2; + sha256 = "03f1abjjf68y8y1iz768rn95va9d33wmbwfbsqrgl6k0gi0bf9jj"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosisusb = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-sisusb-0.9.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-sisusb-0.9.7.tar.bz2; + sha256 = "090lfs3hjz3cjd016v5dybmcsigj6ffvjdhdsqv13k90p4b08h7l"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosuncg6 = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-suncg6-1.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2; + sha256 = "04fgwgk02m4nimlv67rrg1wnyahgymrn6rb2cjj1l8bmzkii4glr"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosunffb = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-sunffb-1.2.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2; + sha256 = "07z3ngifwg2d4jgq8pms47n5lr2yn0ai72g86xxjnb3k20n5ym7s"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videosunleo = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-sunleo-1.2.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-sunleo-1.2.2.tar.bz2; + sha256 = "1gacm0s6rii4x5sx9py5bhvs50jd4vs3nnbwjdjymyf31kpdirl3"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videotdfx = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-tdfx-1.5.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-tdfx-1.5.0.tar.bz2; + sha256 = "0qc5wzwf1n65si9rc37bh224pzahh7gp67vfimbxs0b9yvhq0i9g"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videotga = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-tga-1.2.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2; + sha256 = "0cb161lvdgi6qnf1sfz722qn38q7kgakcvj7b45ba3i0020828r0"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videotrident = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-trident-1.3.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-trident-1.3.8.tar.bz2; + sha256 = "0gxcar434kx813fxdpb93126lhmkl3ikabaljhcj5qn3fkcijlcy"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videov4l = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-v4l-0.3.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-v4l-0.3.0.tar.bz2; + sha256 = "084x4p4avy72mgm2vnnvkicw3419i6pp3wxik8zqh7gmq4xv5z75"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videovboxvideo = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-vboxvideo-1.0.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-vboxvideo-1.0.0.tar.bz2; + sha256 = "195z1js3i51qgxvhfw4bxb4dw3jcrrx2ynpm2y3475dypjzs7dkz"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videovesa = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-vesa-2.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-vesa-2.4.0.tar.bz2; + sha256 = "1373vsxn6qh00na0s9c09kf09gj78rzi98zq93id8v5zsya3qi5z"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videovmware = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, udev, libpciaccess, libX11, libXext, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-vmware-13.3.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-vmware-13.3.0.tar.bz2; + sha256 = "0v06qhm059klq40m2yx4wypzb7h53aaassbjfmm6clcyclj1k5s7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm udev libpciaccess libX11 libXext xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videovoodoo = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-voodoo-1.2.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2; + sha256 = "1s6p7yxmi12q4y05va53rljwyzd6ry492r1pgi7wwq6cznivhgly"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videowsfb = callPackage ({ stdenv, pkgconfig, fetchurl, xorgserver, xorgproto }: stdenv.mkDerivation { + name = "xf86-video-wsfb-0.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-wsfb-0.4.0.tar.bz2; + sha256 = "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgserver xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xf86videoxgi = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libdrm, libpciaccess, xorgserver }: stdenv.mkDerivation { + name = "xf86-video-xgi-1.6.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/driver/xf86-video-xgi-1.6.1.tar.bz2; + sha256 = "10xd2vah0pnpw5spn40n4p95mpmgvdkly4i1cz51imnlfsw7g8si"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm libpciaccess xorgserver ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xfd = callPackage ({ stdenv, pkgconfig, fetchurl, libxkbfile, fontconfig, libXaw, libXft, libXmu, xorgproto, libXrender, libXt, gettext }: stdenv.mkDerivation { + name = "xfd-1.1.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xfd-1.1.3.tar.bz2; + sha256 = "0n6r1v8sm0z0ycqch035xpm46nv5v4mav3kxh36883l3ln5r6bqr"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig gettext ]; + buildInputs = [ libxkbfile fontconfig libXaw libXft libXmu xorgproto libXrender libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xfontsel = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, libXt }: stdenv.mkDerivation { + name = "xfontsel-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xfontsel-1.0.6.tar.bz2; + sha256 = "0700lf6hx7dg88wq1yll7zjvf9gbwh06xff20yffkxb289y0pai5"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw libXmu libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xfs = callPackage ({ stdenv, pkgconfig, fetchurl, libXfont2, xorgproto, xtrans }: stdenv.mkDerivation { + name = "xfs-1.2.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xfs-1.2.0.tar.bz2; + sha256 = "0q4q4rbzx159sfn2n52y039fki6nc6a39qdfxa78yjc3aw8i48nv"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXfont2 xorgproto xtrans ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xfsinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libFS, xorgproto }: stdenv.mkDerivation { + name = "xfsinfo-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xfsinfo-1.0.6.tar.bz2; + sha256 = "1mmir5i7gm71xc0ba8vnizi4744vsd31hknhi4cmgvg6kadqngla"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libFS xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xgamma = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto, libXxf86vm }: stdenv.mkDerivation { + name = "xgamma-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2; + sha256 = "1lr2nb1fhg5fk2fchqxdxyl739602ggwhmgl2wiv5c8qbidw7w8f"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto libXxf86vm ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xgc = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation { + name = "xgc-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xgc-1.0.5.tar.bz2; + sha256 = "0pigvjd3i9fchmj1inqy151aafz3dr0vq1h2zizdb2imvadqv0hl"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXaw libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xhost = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXau, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xhost-1.0.8"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xhost-1.0.8.tar.bz2; + sha256 = "15n3mnd4i5kh4z32qv11580qjgvnng0wry2y753ljrqkkrbkrp52"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXau libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xinit = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xinit-1.4.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xinit-1.4.1.tar.bz2; + sha256 = "1fdbakx59vyh474skjydj1bbglpby3y03nl7mxn0z9v8gdhqz6yy"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xinput = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXext, libXi, libXinerama, libXrandr }: stdenv.mkDerivation { + name = "xinput-1.6.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xinput-1.6.2.tar.bz2; + sha256 = "1i75mviz9dyqyf7qigzmxq8vn31i86aybm662fzjz5c086dx551n"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXext libXi libXinerama libXrandr ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xkbcomp = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile, xorgproto }: stdenv.mkDerivation { + name = "xkbcomp-1.4.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xkbcomp-1.4.2.tar.bz2; + sha256 = "0944rrkkf0dxp07vhh9yr4prslxhqyw63qmbjirbv1bypswvrn3d"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libxkbfile xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xkbevd = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile }: stdenv.mkDerivation { + name = "xkbevd-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2; + sha256 = "0sprjx8i86ljk0l7ldzbz2xlk8916z5zh78cafjv8k1a63js4c14"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libxkbfile ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xkbprint = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxkbfile, xorgproto }: stdenv.mkDerivation { + name = "xkbprint-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2; + sha256 = "04iyv5z8aqhabv7wcpvbvq0ji0jrz1666vw6gvxkvl7szswalgqb"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libxkbfile xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xkbutils = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, libX11, libXaw, libXt }: stdenv.mkDerivation { + name = "xkbutils-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2; + sha256 = "0c412isxl65wplhl7nsk12vxlri29lk48g3p52hbrs3m0awqm8fj"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libX11 libXaw libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xkeyboardconfig = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xkeyboard-config-2.27"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.27.tar.bz2; + sha256 = "07wh443lhwv1j0q6xnxnji7f7ahh7xphxj90fv02cdd6zv4aw3b9"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xkill = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xkill-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xkill-1.0.5.tar.bz2; + sha256 = "0szzd9nzn0ybkhnfyizb876irwnjsnb78rcaxx6prb71jmmbpw65"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xload = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, xorgproto, libXt, gettext }: stdenv.mkDerivation { + name = "xload-1.1.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xload-1.1.3.tar.bz2; + sha256 = "01sr6yd6yhyyfgn88l867w6h9dn5ikcynaz5rwji6xqxhw1lhkpk"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig gettext ]; + buildInputs = [ libX11 libXaw libXmu xorgproto libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xlsatoms = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb }: stdenv.mkDerivation { + name = "xlsatoms-1.1.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xlsatoms-1.1.3.tar.bz2; + sha256 = "10m3a046jvaw5ywx4y65kl84lsxqan70gww1g1r7cf96ijaqz1jp"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libxcb ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xlsclients = callPackage ({ stdenv, pkgconfig, fetchurl, libxcb }: stdenv.mkDerivation { + name = "xlsclients-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xlsclients-1.1.4.tar.bz2; + sha256 = "1h8931sn34mcip6vpi4v7hdmr1r58gkbw4s2p97w98kykks2lgvp"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libxcb ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xlsfonts = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xlsfonts-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xlsfonts-1.0.6.tar.bz2; + sha256 = "0s6kxgv78chkwsqmhw929f4pf91gq63f4yvixxnan1h00cx0pf49"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xmag = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXaw, libXmu, libXt }: stdenv.mkDerivation { + name = "xmag-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xmag-1.0.6.tar.bz2; + sha256 = "0qg12ifbbk9n8fh4jmyb625cknn8ssj86chd6zwdiqjin8ivr8l7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXaw libXmu libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xmessage = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation { + name = "xmessage-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xmessage-1.0.5.tar.bz2; + sha256 = "0a90kfm0qz8cn2pbpqfyqrc5s9bfvvy14nj848ynvw56wy0zng9p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXaw libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xmodmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xmodmap-1.0.10"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xmodmap-1.0.10.tar.bz2; + sha256 = "0z28331i2pm16x671fa9qwsfqdmr6a43bzwmp0dm17a3sx0hjgs7"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xmore = callPackage ({ stdenv, pkgconfig, fetchurl, libXaw, libXt }: stdenv.mkDerivation { + name = "xmore-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xmore-1.0.3.tar.bz2; + sha256 = "06r514p30v87vx00ddlck9mwazaqk9bx08ip866p1mw2a46iwjk4"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXaw libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xorgcffiles = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "xorg-cf-files-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2; + sha256 = "0kckng0zs1viz0nr84rdl6dswgip7ndn4pnh5nfwnviwpsfmmksd"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xorgdocs = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "xorg-docs-1.7.1"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2; + sha256 = "0jrc4jmb4raqawx0j9jmhgasr0k6sxv0bm2hrxjh9hb26iy6gf14"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xorgproto = callPackage ({ stdenv, pkgconfig, fetchurl, libXt }: stdenv.mkDerivation { + name = "xorgproto-2018.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/proto/xorgproto-2018.4.tar.bz2; + sha256 = "180mqkp70i44rkmj430pmn9idssvffrgv4y5h19fm698a7h8bs7y"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xorgserver = callPackage ({ stdenv, pkgconfig, fetchurl, xorgproto, openssl, libX11, libXau, libXaw, libxcb, xcbutil, xcbutilwm, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, libXdmcp, libXfixes, libxkbfile, libXmu, libXpm, libXrender, libXres, libXt }: stdenv.mkDerivation { + name = "xorg-server-1.20.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2; + sha256 = "17dc3g8cc55nbkx3np64dsz04n621dnzjmcc9wys0xbyyd1q47d8"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xorgsgmldoctools = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "xorg-sgml-doctools-1.11"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/doc/xorg-sgml-doctools-1.11.tar.bz2; + sha256 = "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xpr = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xpr-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xpr-1.0.5.tar.bz2; + sha256 = "07qy9lwjvxighcmg6qvjkgagad3wwvidrfx0jz85lgynz3qy0dmr"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xprop = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xprop-1.2.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xprop-1.2.4.tar.bz2; + sha256 = "0lzp7kyhpwd5hm83j2zm6j3w3z1z5i4ykgg2nwr01ij6dq4znxwc"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xrandr = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto, libXrandr, libXrender }: stdenv.mkDerivation { + name = "xrandr-1.5.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xrandr-1.5.0.tar.bz2; + sha256 = "1kaih7rmzxr1vp5a5zzjhm5x7dn9mckya088sqqw026pskhx9ky1"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto libXrandr libXrender ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xrdb = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xrdb-1.2.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xrdb-1.2.0.tar.bz2; + sha256 = "0ik9gh6363c47pr0dp7q22nfs8vmavjg2v4bsr0604ppl77nafpj"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xrefresh = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xrefresh-1.0.6"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xrefresh-1.0.6.tar.bz2; + sha256 = "0lv3rlshh7s0z3aqx5ahnnf8cl082m934bk7gv881mz8nydznz98"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xset = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXext, libXmu, xorgproto, libXxf86misc }: stdenv.mkDerivation { + name = "xset-1.2.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xset-1.2.4.tar.bz2; + sha256 = "0my987wjvra7l92ry6q44ky383yg3phzxhdbn3lqhapm1ll9bzg4"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXext libXmu xorgproto libXxf86misc ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xsetroot = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xbitmaps, libXcursor, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xsetroot-1.1.2"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xsetroot-1.1.2.tar.bz2; + sha256 = "0z21mqvmdl6rl63q77479wgkfygnll57liza1i3va7sr4fx45i0h"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xbitmaps libXcursor libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xsm = callPackage ({ stdenv, pkgconfig, fetchurl, libICE, libSM, libX11, libXaw, libXt }: stdenv.mkDerivation { + name = "xsm-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xsm-1.0.4.tar.bz2; + sha256 = "09a4ss1fnrh1sgm21r4n5pivawf34paci3rn6mscyljf7a4vcd4r"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libICE libSM libX11 libXaw libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xstdcmap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXmu, xorgproto }: stdenv.mkDerivation { + name = "xstdcmap-1.0.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xstdcmap-1.0.4.tar.bz2; + sha256 = "12vgzsxv4rw25frkgjyli6w6hy10lgpvsx9wzw2v5l5a3qzqp286"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXmu xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xtrans = callPackage ({ stdenv, pkgconfig, fetchurl }: stdenv.mkDerivation { + name = "xtrans-1.4.0"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/lib/xtrans-1.4.0.tar.bz2; + sha256 = "0wyp0yc6gi72hwc3kjmvm3vkj9p6s407cb6dxx37jh9wb68l8z1p"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xtrap = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libXt, libXTrap }: stdenv.mkDerivation { + name = "xtrap-1.0.3"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2; + sha256 = "0sqm4j1zflk1s94iq4waa70hna1xcys88v9a70w0vdw66czhvj2j"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libXt libXTrap ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xvinfo = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto, libXv }: stdenv.mkDerivation { + name = "xvinfo-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xvinfo-1.1.4.tar.bz2; + sha256 = "0gz7fvxavqlrqynpfbrm2nc9yx8h0ksnbnv34fj7n1q6cq6j4lq3"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto libXv ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xwd = callPackage ({ stdenv, pkgconfig, fetchurl, libxkbfile, libX11, xorgproto }: stdenv.mkDerivation { + name = "xwd-1.0.7"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xwd-1.0.7.tar.bz2; + sha256 = "1537i8q8pgf0sjklakzfvjwrq5b246qjywrx9ll8xfg0p6w1as6d"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libxkbfile libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xwininfo = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, libxcb, xorgproto }: stdenv.mkDerivation { + name = "xwininfo-1.1.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xwininfo-1.1.4.tar.bz2; + sha256 = "00avrpw4h5mr1klp41lv2j4dmq465v6l5kb5bhm4k5ml8sm9i543"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 libxcb xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + + xwud = callPackage ({ stdenv, pkgconfig, fetchurl, libX11, xorgproto }: stdenv.mkDerivation { + name = "xwud-1.0.5"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/app/xwud-1.0.5.tar.bz2; + sha256 = "1a8hdgy40smvblnh3s9f0vkqckl68nmivx7d48zk34m8z18p16cr"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ libX11 xorgproto ]; + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + +}) diff --git a/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl new file mode 100755 index 000000000000..21e61bc54d0e --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -0,0 +1,324 @@ +#! /usr/bin/env perl + +# Usage: +# +# manually update tarballs.list +# then run: cat tarballs.list | perl ./generate-expr-from-tarballs.pl + + +use strict; +use warnings; + +use File::Basename; +use File::Spec::Functions; + +my $tmpDir = "/tmp/xorg-unpack"; + + +my %pkgURLs; +my %pkgHashes; +my %pkgNames; +my %pkgRequires; +my %pkgNativeRequires; + +my %pcMap; + +my %extraAttrs; + + +my @missingPCs = ("fontconfig", "libdrm", "libXaw", "zlib", "perl", "python", "mkfontscale", "bdftopcf", "libxslt", "openssl", "gperf", "m4", "libinput", "libevdev", "mtdev", "xorgproto", "cairo", "gettext" ); +$pcMap{$_} = $_ foreach @missingPCs; +$pcMap{"freetype2"} = "freetype"; +$pcMap{"libpng12"} = "libpng"; +$pcMap{"libpng"} = "libpng"; +$pcMap{"dbus-1"} = "dbus"; +$pcMap{"uuid"} = "libuuid"; +$pcMap{"libudev"} = "udev"; +$pcMap{"gl"} = "libGL"; +$pcMap{"GL"} = "libGL"; +$pcMap{"gbm"} = "mesa"; +$pcMap{"\$PIXMAN"} = "pixman"; +$pcMap{"\$RENDERPROTO"} = "xorgproto"; +$pcMap{"\$DRI3PROTO"} = "xorgproto"; +$pcMap{"\$DRI2PROTO"} = "xorgproto"; +$pcMap{"\${XKBMODULE}"} = "libxkbfile"; + + +my $downloadCache = "./download-cache"; +mkdir $downloadCache, 0755; + + +while (<>) { + chomp; + my $tarball = "$_"; + print "\nDOING TARBALL $tarball\n"; + + my $pkg; + if ($tarball =~ s/:([a-zA-Z0-9_]+)$//) { + $pkg = $1; + } else { + $tarball =~ /\/((?:(?:[A-Za-z0-9]|(?:-[^0-9])|(?:-[0-9]*[a-z]))+))[^\/]*$/; + die unless defined $1; + $pkg = $1; + $pkg =~ s/-//g; + #next unless $pkg eq "xcbutil"; + } + + $tarball =~ /\/([^\/]*)\.(tar\.(bz2|gz|xz)|tgz)$/; + my $pkgName = $1; + + print " $pkg $pkgName\n"; + + if (defined $pkgNames{$pkg}) { + print " SKIPPING\n"; + next; + } + + $pkgURLs{$pkg} = $tarball; + $pkgNames{$pkg} = $pkgName; + + my $cachePath = catdir($downloadCache, basename($tarball)); + my $hash; + my $path; + if (-e $cachePath) { + $path = readlink($cachePath); + $hash = `nix-hash --type sha256 --base32 --flat $cachePath`; + } + else { + ($hash, $path) = `PRINT_PATH=1 QUIET=1 nix-prefetch-url '$tarball'`; + `nix-store --realise --add-root $cachePath --indirect $path`; + } + chomp $hash; + chomp $path; + $pkgHashes{$pkg} = $hash; + + print "\nunpacking $path\n"; + system "rm -rf '$tmpDir'"; + mkdir $tmpDir, 0700; + system "cd '$tmpDir' && tar xf '$path'"; + die "cannot unpack `$path'" if $? != 0; + print "\n"; + + my $pkgDir = `echo $tmpDir/*`; + chomp $pkgDir; + + my $provides = `find $pkgDir -name "*.pc.in"`; + my @provides2 = split '\n', $provides; + my @requires = (); + my @nativeRequires = (); + + foreach my $pcFile (@provides2) { + my $pc = $pcFile; + $pc =~ s/.*\///; + $pc =~ s/.pc.in//; + print "PROVIDES $pc\n"; + die "collision with $pcMap{$pc}" if defined $pcMap{$pc}; + $pcMap{$pc} = $pkg; + + open FOO, "<$pcFile" or die; + while (<FOO>) { + if (/Requires:(.*)/) { + my @reqs = split ' ', $1; + foreach my $req (@reqs) { + next unless $req =~ /^[a-z]+$/; + print "REQUIRE (from $pc): $req\n"; + push @requires, $req; + } + } + } + close FOO; + + } + + my $file; + { + local $/; + open FOO, "cd '$tmpDir'/* && grep -v '^ *#' configure.ac |"; + $file = <FOO>; + close FOO; + } + + if ($file =~ /XAW_CHECK_XPRINT_SUPPORT/) { + push @requires, "libXaw"; + } + + if ($file =~ /zlib is required/ || $file =~ /AC_CHECK_LIB\(z\,/) { + push @requires, "zlib"; + } + + if ($file =~ /Perl is required/) { + push @requires, "perl"; + } + + if ($file =~ /AC_PATH_PROG\(BDFTOPCF/) { + push @nativeRequires, "bdftopcf"; + } + + if ($file =~ /AC_PATH_PROG\(MKFONTSCALE/) { + push @nativeRequires, "mkfontscale"; + } + + if ($file =~ /AC_PATH_PROG\(MKFONTDIR/) { + push @nativeRequires, "mkfontscale"; + } + + if ($file =~ /AM_PATH_PYTHON/) { + push @nativeRequires, "python"; + } + + if ($file =~ /AC_PATH_PROG\(FCCACHE/) { + # Don't run fc-cache. + die if defined $extraAttrs{$pkg}; + push @{$extraAttrs{$pkg}}, "preInstall = \"installFlags=(FCCACHE=true)\";"; + } + + my $isFont; + + if ($file =~ /XORG_FONT_BDF_UTILS/) { + push @nativeRequires, "bdftopcf", "mkfontscale"; + $isFont = 1; + } + + if ($file =~ /XORG_FONT_SCALED_UTILS/) { + push @nativeRequires, "mkfontscale"; + $isFont = 1; + } + + if ($file =~ /XORG_FONT_UCS2ANY/) { + push @nativeRequires, "fontutil", "mkfontscale"; + $isFont = 1; + } + + if ($isFont) { + push @{$extraAttrs{$pkg}}, "configureFlags = [ \"--with-fontrootdir=\$(out)/lib/X11/fonts\" ];"; + } + + sub process { + my $requires = shift; + my $s = shift; + $s =~ s/\[/\ /g; + $s =~ s/\]/\ /g; + $s =~ s/\,/\ /g; + foreach my $req (split / /, $s) { + next if $req eq ">="; + #next if $req =~ /^\$/; + next if $req =~ /^[0-9]/; + next if $req =~ /^\s*$/; + next if $req eq '$REQUIRED_MODULES'; + next if $req eq '$REQUIRED_LIBS'; + next if $req eq '$XDMCP_MODULES'; + next if $req eq '$XORG_MODULES'; + print "REQUIRE: $req\n"; + push @{$requires}, $req; + } + } + + #process \@requires, $1 while $file =~ /PKG_CHECK_MODULES\([^,]*,\s*[\[]?([^\)\[]*)/g; + process \@requires, $1 while $file =~ /PKG_CHECK_MODULES\([^,]*,([^\)\,]*)/g; + process \@requires, $1 while $file =~ /AC_SEARCH_LIBS\([^,]*,([^\)\,]*)/g; + process \@requires, $1 while $file =~ /MODULES=\"(.*)\"/g; + process \@requires, $1 while $file =~ /REQUIRED_LIBS=\"(.*)\"/g; + process \@requires, $1 while $file =~ /REQUIRED_MODULES=\"(.*)\"/g; + process \@requires, $1 while $file =~ /REQUIRES=\"(.*)\"/g; + process \@requires, $1 while $file =~ /X11_REQUIRES=\'(.*)\'/g; + process \@requires, $1 while $file =~ /XDMCP_MODULES=\"(.*)\"/g; + process \@requires, $1 while $file =~ /XORG_MODULES=\"(.*)\"/g; + process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g; + process \@requires, $1 while $file =~ /ivo_requires=\"(.*)\"/g; + process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g; + + push @nativeRequires, "gettext" if $file =~ /USE_GETTEXT/; + push @requires, "libxslt" if $pkg =~ /libxcb/; + push @nativeRequires, "m4" if $pkg =~ /xcbutil/; + push @requires, "gperf", "xorgproto" if $pkg =~ /xcbutil/; + + print "REQUIRES $pkg => @requires\n"; + print "NATIVE_REQUIRES $pkg => @nativeRequires\n"; + $pkgRequires{$pkg} = \@requires; + $pkgNativeRequires{$pkg} = \@nativeRequires; + + print "done\n"; +} + + +print "\nWRITE OUT\n"; + +open OUT, ">default.nix"; + +print OUT ""; +print OUT <<EOF; +# THIS IS A GENERATED FILE. DO NOT EDIT! +{ lib, newScope, pixman }: + +lib.makeScope newScope (self: with self; { + + inherit pixman; + +EOF + + +foreach my $pkg (sort (keys %pkgURLs)) { + print "$pkg\n"; + + my %nativeRequires = (); + my @nativeBuildInputs; + foreach my $req (sort @{$pkgNativeRequires{$pkg}}) { + if (defined $pcMap{$req}) { + # Some packages have .pc that depends on itself. + next if $pcMap{$req} eq $pkg; + if (!defined $nativeRequires{$pcMap{$req}}) { + push @nativeBuildInputs, $pcMap{$req}; + $nativeRequires{$pcMap{$req}} = 1; + } + } else { + print " NOT FOUND: $req\n"; + } + } + my %requires = (); + my @buildInputs; + foreach my $req (sort @{$pkgRequires{$pkg}}) { + if (defined $pcMap{$req}) { + # Some packages have .pc that depends on itself. + next if $pcMap{$req} eq $pkg; + if (!defined $requires{$pcMap{$req}}) { + push @buildInputs, $pcMap{$req}; + $requires{$pcMap{$req}} = 1; + } + } else { + print " NOT FOUND: $req\n"; + } + } + + my $nativeBuildInputsStr = join "", map { $_ . " " } @nativeBuildInputs; + my $buildInputsStr = join "", map { $_ . " " } @buildInputs; + + my @arguments = @buildInputs; + push @arguments, @nativeBuildInputs; + unshift @arguments, "stdenv", "pkgconfig", "fetchurl"; + my $argumentsStr = join ", ", @arguments; + + my $extraAttrsStr = ""; + if (defined $extraAttrs{$pkg}) { + $extraAttrsStr = join "", map { "\n " . $_ } @{$extraAttrs{$pkg}}; + } + + print OUT <<EOF + $pkg = callPackage ({ $argumentsStr }: stdenv.mkDerivation { + name = "$pkgNames{$pkg}"; + builder = ./builder.sh; + src = fetchurl { + url = $pkgURLs{$pkg}; + sha256 = "$pkgHashes{$pkg}"; + }; + hardeningDisable = [ "bindnow" "relro" ]; + nativeBuildInputs = [ pkgconfig $nativeBuildInputsStr]; + buildInputs = [ $buildInputsStr];$extraAttrsStr + meta.platforms = stdenv.lib.platforms.unix; + }) {}; + +EOF +} + +print OUT "})\n"; + +close OUT; diff --git a/nixpkgs/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch b/nixpkgs/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch new file mode 100644 index 000000000000..fe079eeb42a7 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/imake-cc-wrapper-uberhack.patch @@ -0,0 +1,13 @@ +diff --git a/imake.c b/imake.c +index c20cd4a..ec2589b 100644 +--- a/imake.c ++++ b/imake.c +@@ -959,7 +959,7 @@ get_libc_version(FILE *inFile) + { + char aout[4096], *tmpdir; + FILE *fp; +- const char *format = "%s -o %s -x c -"; ++ const char *format = "f=$(mktemp imakeXXXXXX.c); cat > $f; %s $f -o %s"; + char *cc; + int len; + char *command; diff --git a/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh b/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh new file mode 100644 index 000000000000..10f54198f7fb --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/imake-setup-hook.sh @@ -0,0 +1,19 @@ +export IMAKECPP="@tradcpp@/bin/tradcpp" + +imakeConfigurePhase() { + runHook preConfigure + + echoCmd 'configuring with imake' + + if [ -z "${imakefile:-}" -a ! -e Imakefile ]; then + echo "no Imakefile, doing nothing" + else + xmkmf -a + fi + + runHook postConfigure +} + +if [ -z "$dontUseImakeConfigure" -a -z "$configurePhase" ]; then + configurePhase=imakeConfigurePhase +fi diff --git a/nixpkgs/pkgs/servers/x11/xorg/imake.patch b/nixpkgs/pkgs/servers/x11/xorg/imake.patch new file mode 100644 index 000000000000..1d0ec88761d4 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/imake.patch @@ -0,0 +1,37 @@ +diff -Naur imake-1.0.7-orig/imake.c imake-1.0.7/imake.c +--- imake-1.0.7-orig/imake.c 2013-08-17 10:11:50.000000000 +0000 ++++ imake-1.0.7/imake.c 2015-02-04 09:41:59.000000000 +0000 +@@ -1045,6 +1045,7 @@ + static void + get_distrib(FILE *inFile) + { ++#if 0 + struct stat sb; + + static const char* suse = "/etc/SuSE-release"; +@@ -1090,6 +1091,7 @@ + * at the content of /etc/debian_version */ + return; + } ++#endif + /* what's the definitive way to tell what any particular distribution is? */ + + fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxUnknown"); +@@ -1337,6 +1339,7 @@ + static boolean + get_gcc(char *cmd) + { ++#if 0 + struct stat sb; + static const char* gcc_path[] = { + #if defined(linux) || \ +@@ -1385,6 +1388,9 @@ + } + } + return FALSE; ++#endif ++ strcpy (cmd, IMAKE_COMPILETIME_CPP); ++ return TRUE; + } + + #ifdef CROSSCOMPILE diff --git a/nixpkgs/pkgs/servers/x11/xorg/imake.sh b/nixpkgs/pkgs/servers/x11/xorg/imake.sh new file mode 100644 index 000000000000..4ab5e2ae160b --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/imake.sh @@ -0,0 +1,6 @@ +preInstall() { + mkdir -p $out/lib/X11/config + ln -s $xorgcffiles/lib/X11/config/* $out/lib/X11/config + #touch $out/lib/X11/config/host.def # !!! hack + #touch $out/lib/X11/config/date.def # !!! hack +} diff --git a/nixpkgs/pkgs/servers/x11/xorg/overrides.nix b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix new file mode 100644 index 000000000000..80b0addd6ec8 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/overrides.nix @@ -0,0 +1,785 @@ +{ abiCompat ? null, + stdenv, makeWrapper, fetchurl, fetchpatch, buildPackages, + automake, autoconf, gettext, libiconv, libtool, intltool, + freetype, tradcpp, fontconfig, meson, ninja, ed, + libGL, spice-protocol, zlib, libGLU, dbus, libunwind, libdrm, + mesa, udev, bootstrap_cmds, bison, flex, clangStdenv, autoreconfHook, + mcpp, epoxy, openssl, pkgconfig, llvm_6, + ApplicationServices, Carbon, Cocoa, Xplugin +}: + +let + inherit (stdenv) lib isDarwin; + inherit (lib) overrideDerivation; + + malloc0ReturnsNullCrossFlag = stdenv.lib.optional + (stdenv.hostPlatform != stdenv.buildPlatform) + "--enable-malloc0returnsnull"; +in +self: super: +{ + bdftopcf = super.bdftopcf.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ self.xorgproto ]; + }); + + bitmap = super.bitmap.overrideAttrs (attrs: { + nativeBuildInputs = attrs.nativeBuildInputs ++ [ makeWrapper ]; + postInstall = '' + paths=( + "$out/share/X11/%T/%N" + "$out/include/X11/%T/%N" + "${self.xbitmaps}/include/X11/%T/%N" + ) + wrapProgram "$out/bin/bitmap" \ + --suffix XFILESEARCHPATH : $(IFS=:; echo "''${paths[*]}") + makeWrapper "$out/bin/bitmap" "$out/bin/bitmap-color" \ + --suffix XFILESEARCHPATH : "$out/share/X11/%T/%N-color" + ''; + }); + + encodings = super.encodings.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ self.mkfontscale ]; + }); + + editres = super.editres.overrideAttrs (attrs: { + hardeningDisable = [ "format" ]; + }); + + fontbhttf = super.fontbhttf.overrideAttrs (attrs: { + meta = attrs.meta // { license = lib.licenses.unfreeRedistributable; }; + }); + + fontmiscmisc = super.fontmiscmisc.overrideAttrs (attrs: { + postInstall = + '' + ALIASFILE=${self.fontalias}/share/fonts/X11/misc/fonts.alias + test -f $ALIASFILE + cp $ALIASFILE $out/lib/X11/fonts/misc/fonts.alias + ''; + }); + + imake = super.imake.overrideAttrs (attrs: { + inherit (self) xorgcffiles; + x11BuildHook = ./imake.sh; + patches = [./imake.patch ./imake-cc-wrapper-uberhack.patch]; + setupHook = ./imake-setup-hook.sh; + CFLAGS = [ ''-DIMAKE_COMPILETIME_CPP='"${if stdenv.isDarwin + then "${tradcpp}/bin/cpp" + else "gcc"}"' '' + ]; + inherit tradcpp; + }); + + mkfontdir = self.mkfontscale; + + libxcb = super.libxcb.overrideAttrs (attrs: { + configureFlags = [ "--enable-xkb" "--enable-xinput" ]; + outputs = [ "out" "dev" "man" "doc" ]; + }); + + libX11 = super.libX11.overrideAttrs (attrs: { + outputs = [ "out" "dev" "man" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + preConfigure = '' + sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure + ''; + postInstall = + '' + # Remove useless DocBook XML files. + rm -rf $out/share/doc + ''; + CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -"; + propagatedBuildInputs = [ self.xorgproto ]; + }); + + libAppleWM = super.libAppleWM.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ ApplicationServices ]; + preConfigure = '' + substituteInPlace src/Makefile.in --replace -F/System -F${ApplicationServices} + ''; + }); + + libXau = super.libXau.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + propagatedBuildInputs = [ self.xorgproto ]; + }); + + libXdmcp = super.libXdmcp.overrideAttrs (attrs: { + outputs = [ "out" "dev" "doc" ]; + }); + + libXfont = super.libXfont.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + propagatedBuildInputs = [ freetype ]; # propagate link reqs. like bzip2 + # prevents "misaligned_stack_error_entering_dyld_stub_binder" + configureFlags = lib.optionals isDarwin [ + "CFLAGS=-O0" + ]; + }); + + libXxf86vm = super.libXxf86vm.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + + # Propagate some build inputs because of header file dependencies. + # Note: most of these are in Requires.private, so maybe builder.sh + # should propagate them automatically. + libXt = super.libXt.overrideAttrs (attrs: { + preConfigure = '' + sed 's,^as_dummy.*,as_dummy="\$PATH",' -i configure + ''; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + propagatedBuildInputs = [ self.libSM ]; + depsBuildBuild = [ buildPackages.stdenv.cc ]; + CPP = if stdenv.isDarwin then "clang -E -" else "${stdenv.cc.targetPrefix}cc -E -"; + outputs = [ "out" "dev" "devdoc" ]; + }); + + luit = super.luit.overrideAttrs (attrs: { + # See https://bugs.freedesktop.org/show_bug.cgi?id=47792 + # Once the bug is fixed upstream, this can be removed. + configureFlags = [ "--disable-selective-werror" ]; + + buildInputs = attrs.buildInputs ++ [libiconv]; + }); + + libICE = super.libICE.overrideAttrs (attrs: { + outputs = [ "out" "dev" "doc" ]; + }); + + libXcomposite = super.libXcomposite.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + propagatedBuildInputs = [ self.libXfixes ]; + }); + + libXaw = super.libXaw.overrideAttrs (attrs: { + outputs = [ "out" "dev" "devdoc" ]; + propagatedBuildInputs = [ self.libXmu ]; + }); + + libXcursor = super.libXcursor.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + }); + + libXdamage = super.libXdamage.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + }); + + libXft = super.libXft.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + propagatedBuildInputs = [ self.libXrender freetype fontconfig ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + # the include files need ft2build.h, and Requires.private isn't enough for us + postInstall = '' + sed "/^Requires:/s/$/, freetype2/" -i "$dev/lib/pkgconfig/xft.pc" + ''; + passthru = { + inherit freetype fontconfig; + }; + }); + + libXext = super.libXext.overrideAttrs (attrs: { + outputs = [ "out" "dev" "man" "doc" ]; + propagatedBuildInputs = [ self.xorgproto self.libXau ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + + libXfixes = super.libXfixes.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + }); + + libXi = super.libXi.overrideAttrs (attrs: { + outputs = [ "out" "dev" "man" "doc" ]; + propagatedBuildInputs = [ self.libXfixes ]; + configureFlags = stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [ + "xorg_cv_malloc0_returns_null=no" + ]; + }); + + libXinerama = super.libXinerama.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + + libXmu = super.libXmu.overrideAttrs (attrs: { + outputs = [ "out" "dev" "doc" ]; + buildFlags = ''BITMAP_DEFINES=-DBITMAPDIR=\"/no-such-path\"''; + }); + + libXrandr = super.libXrandr.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + propagatedBuildInputs = [self.libXrender]; + }); + + libSM = super.libSM.overrideAttrs (attrs: { + outputs = [ "out" "dev" "doc" ]; + propagatedBuildInputs = [ self.libICE ]; + }); + + libXrender = super.libXrender.overrideAttrs (attrs: { + outputs = [ "out" "dev" "doc" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + propagatedBuildInputs = [ self.xorgproto ]; + }); + + libXres = super.libXres.overrideAttrs (attrs: { + outputs = [ "out" "dev" "devdoc" ]; + }); + + libXv = super.libXv.overrideAttrs (attrs: { + outputs = [ "out" "dev" "devdoc" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + }); + + libXvMC = super.libXvMC.overrideAttrs (attrs: { + outputs = [ "out" "dev" "doc" ]; + configureFlags = attrs.configureFlags or [] + ++ malloc0ReturnsNullCrossFlag; + buildInputs = attrs.buildInputs ++ [self.xorgproto]; + }); + + libXp = super.libXp.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + }); + + libXpm = super.libXpm.overrideAttrs (attrs: { + name = "libXpm-3.5.12"; + src = fetchurl { + url = mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2; + sha256 = "1v5xaiw4zlhxspvx76y3hq4wpxv7mpj6parqnwdqvpj8vbinsspx"; + }; + outputs = [ "bin" "dev" "out" ]; # tiny man in $bin + patchPhase = "sed -i '/USE_GETTEXT_TRUE/d' sxpm/Makefile.in cxpm/Makefile.in"; + }); + + libXpresent = super.libXpresent.overrideAttrs (attrs: { + buildInputs = with self; attrs.buildInputs ++ [ libXext libXfixes libXrandr ]; + }); + + libxkbfile = super.libxkbfile.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # mainly to avoid propagation + }); + + libxshmfence = super.libxshmfence.overrideAttrs (attrs: { + name = "libxshmfence-1.3"; + src = fetchurl { + url = mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2; + sha256 = "1ir0j92mnd1nk37mrv9bz5swnccqldicgszvfsh62jd14q6k115q"; + }; + outputs = [ "out" "dev" ]; # mainly to avoid propagation + }); + + libpciaccess = super.libpciaccess.overrideAttrs (attrs: { + meta = attrs.meta // { platforms = stdenv.lib.platforms.linux; }; + }); + + setxkbmap = super.setxkbmap.overrideAttrs (attrs: { + postInstall = + '' + mkdir -p $out/share + ln -sfn ${self.xkeyboardconfig}/etc/X11 $out/share/X11 + ''; + }); + + utilmacros = super.utilmacros.overrideAttrs (attrs: { # not needed for releases, we propagate the needed tools + propagatedBuildInputs = [ automake autoconf libtool ]; + }); + + x11perf = super.x11perf.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ freetype fontconfig ]; + }); + + xcbutil = super.xcbutil.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + }); + + xcbutilcursor = super.xcbutilcursor.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; + meta = attrs.meta // { maintainers = [ stdenv.lib.maintainers.lovek323 ]; }; + }); + + xcbutilimage = super.xcbutilimage.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # mainly to get rid of propagating others + }); + + xcbutilkeysyms = super.xcbutilkeysyms.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # mainly to get rid of propagating others + }); + + xcbutilrenderutil = super.xcbutilrenderutil.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # mainly to get rid of propagating others + }); + + xcbutilwm = super.xcbutilwm.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # mainly to get rid of propagating others + }); + + xf86inputevdev = super.xf86inputevdev.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # to get rid of xorgserver.dev; man is tiny + preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c"; + installFlags = "sdkdir=\${out}/include/xorg"; + }); + + xf86inputmouse = super.xf86inputmouse.overrideAttrs (attrs: { + installFlags = "sdkdir=\${out}/include/xorg"; + }); + + xf86inputjoystick = super.xf86inputjoystick.overrideAttrs (attrs: { + installFlags = "sdkdir=\${out}/include/xorg"; + }); + + xf86inputlibinput = super.xf86inputlibinput.overrideAttrs (attrs: rec { + outputs = [ "out" "dev" ]; + installFlags = "sdkdir=\${dev}/include/xorg"; + }); + + xf86inputsynaptics = super.xf86inputsynaptics.overrideAttrs (attrs: { + outputs = [ "out" "dev" ]; # *.pc pulls xorgserver.dev + installFlags = "sdkdir=\${out}/include/xorg configdir=\${out}/share/X11/xorg.conf.d"; + }); + + xf86inputvmmouse = super.xf86inputvmmouse.overrideAttrs (attrs: { + configureFlags = [ + "--sysconfdir=$(out)/etc" + "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" + "--with-udev-rules-dir=$(out)/lib/udev/rules.d" + ]; + + meta = attrs.meta // { + platforms = ["i686-linux" "x86_64-linux"]; + }; + }); + + # Obsolete drivers that don't compile anymore. + xf86videoark = super.xf86videoark.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videogeode = super.xf86videogeode.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videoglide = super.xf86videoglide.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videoi128 = super.xf86videoi128.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videonewport = super.xf86videonewport.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videotga = super.xf86videotga.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videov4l = super.xf86videov4l.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videovoodoo = super.xf86videovoodoo.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + xf86videowsfb = super.xf86videowsfb.overrideAttrs (attrs: { meta = attrs.meta // { broken = true; }; }); + + xf86videoamdgpu = super.xf86videoamdgpu.overrideAttrs (attrs: { + configureFlags = [ "--with-xorg-conf-dir=$(out)/share/X11/xorg.conf.d" ]; + }); + + xf86videoati = super.xf86videoati.overrideAttrs (attrs: { + NIX_CFLAGS_COMPILE = "-I${self.xorgserver.dev or self.xorgserver}/include/xorg"; + }); + + xf86videovmware = super.xf86videovmware.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ mesa llvm_6 ]; # for libxatracker + meta = attrs.meta // { + platforms = ["i686-linux" "x86_64-linux"]; + }; + }); + + xf86videoqxl = super.xf86videoqxl.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ spice-protocol ]; + }); + + xf86videosiliconmotion = super.xf86videosiliconmotion.overrideAttrs (attrs: { + meta = attrs.meta // { + platforms = ["i686-linux" "x86_64-linux"]; + }; + }); + + xdriinfo = super.xdriinfo.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [libGL]; + }); + + xvinfo = super.xvinfo.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [self.libXext]; + }); + + xkbcomp = super.xkbcomp.overrideAttrs (attrs: { + configureFlags = [ "--with-xkb-config-root=${self.xkeyboardconfig}/share/X11/xkb" ]; + }); + + xkeyboardconfig = super.xkeyboardconfig.overrideAttrs (attrs: { + nativeBuildInputs = attrs.nativeBuildInputs ++ [intltool]; + + configureFlags = [ "--with-xkb-rules-symlink=xorg" ]; + + # 1: compatibility for X11/xkb location + # 2: I think pkgconfig/ is supposed to be in /lib/ + postInstall = '' + ln -s share "$out/etc" + mkdir -p "$out/lib" && ln -s ../share/pkgconfig "$out/lib/" + ''; + }); + + # xkeyboardconfig variant extensible with custom layouts. + # See nixos/modules/services/x11/extra-layouts.nix + xkeyboardconfig_custom = { layouts ? { } }: + let + patchIn = name: layout: + with layout; + with lib; + '' + # install layout files + ${optionalString (compatFile != null) "cp '${compatFile}' 'compat/${name}'"} + ${optionalString (geometryFile != null) "cp '${geometryFile}' 'geometry/${name}'"} + ${optionalString (keycodesFile != null) "cp '${keycodesFile}' 'keycodes/${name}'"} + ${optionalString (symbolsFile != null) "cp '${symbolsFile}' 'symbols/${name}'"} + ${optionalString (typesFile != null) "cp '${typesFile}' 'types/${name}'"} + + # patch makefiles + for type in compat geometry keycodes symbols types; do + if ! test -f "$type/${name}"; then + continue + fi + test "$type" = geometry && type_name=geom || type_name=$type + ${ed}/bin/ed -v $type/Makefile.am <<EOF + /''${type_name}_DATA = + a + ${name} \\ + . + w + EOF + ${ed}/bin/ed -v $type/Makefile.in <<EOF + /''${type_name}_DATA = + a + ${name} \\ + . + w + EOF + done + + # add model description + ${ed}/bin/ed -v rules/base.xml <<EOF + /<\/modelList> + - + a + <model> + <configItem> + <name>${name}</name> + <_description>${layout.description}</_description> + <vendor>${layout.description}</vendor> + </configItem> + </model> + . + w + EOF + + # add layout description + ${ed}/bin/ed -v rules/base.xml <<EOF + /<\/layoutList> + - + a + <layout> + <configItem> + <name>${name}</name> + <_shortDescription>${name}</_shortDescription> + <_description>${layout.description}</_description> + <languageList> + ${concatMapStrings (lang: "<iso639Id>${lang}</iso639Id>\n") layout.languages} + </languageList> + </configItem> + <variantList/> + </layout> + . + w + EOF + ''; + in + self.xkeyboardconfig.overrideAttrs (old: { + buildInputs = old.buildInputs ++ [ automake ]; + postPatch = with lib; concatStrings (mapAttrsToList patchIn layouts); + }); + + xload = super.xload.overrideAttrs (attrs: { + nativeBuildInputs = attrs.nativeBuildInputs ++ [ gettext ]; + }); + + xlsfonts = super.xlsfonts.overrideAttrs (attrs: { + meta = attrs.meta // { license = lib.licenses.mit; }; + }); + + xorgproto = super.xorgproto.overrideAttrs (attrs: { + buildInputs = []; + nativeBuildInputs = attrs.nativeBuildInputs ++ [ meson ninja ]; + # adds support for printproto needed for libXp + mesonFlags = [ "-Dlegacy=true" ]; + }); + + xorgserver = with self; super.xorgserver.overrideAttrs (attrs_passed: + # exchange attrs if abiCompat is set + let + version = (builtins.parseDrvName attrs_passed.name).version; + attrs = + if (abiCompat == null || lib.hasPrefix abiCompat version) then + attrs_passed // { + buildInputs = attrs_passed.buildInputs ++ [ libdrm.dev ]; patchPhase = '' + for i in dri3/*.c + do + sed -i -e "s|#include <drm_fourcc.h>|#include <libdrm/drm_fourcc.h>|" $i + done + '';} + else if (abiCompat == "1.17") then { + name = "xorg-server-1.17.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2; + sha256 = "0mv4ilpqi5hpg182mzqn766frhi6rw48aba3xfbaj4m82v0lajqc"; + }; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + } else if (abiCompat == "1.18") then { + name = "xorg-server-1.18.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/xserver/xorg-server-1.18.4.tar.bz2; + sha256 = "1j1i3n5xy1wawhk95kxqdc54h34kg7xp4nnramba2q8xqfr5k117"; + }; + nativeBuildInputs = [ pkgconfig ]; + buildInputs = [ xorgproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; + postPatch = stdenv.lib.optionalString stdenv.isLinux "sed '1i#include <malloc.h>' -i include/os.h"; + meta.platforms = stdenv.lib.platforms.unix; + } else throw "unsupported xorg abiCompat ${abiCompat} for ${attrs_passed.name}"; + + in attrs // + (let + version = (builtins.parseDrvName attrs.name).version; + commonBuildInputs = attrs.buildInputs ++ [ xtrans ]; + commonPropagatedBuildInputs = [ + zlib libGL libGLU dbus + xorgproto + libXext pixman libXfont libxshmfence libunwind + libXfont2 + ]; + # XQuartz requires two compilations: the first to get X / XQuartz, + # and the second to get Xvfb, Xnest, etc. + darwinOtherX = overrideDerivation xorgserver (oldAttrs: { + configureFlags = oldAttrs.configureFlags ++ [ + "--disable-xquartz" + "--enable-xorg" + "--enable-xvfb" + "--enable-xnest" + "--enable-kdrive" + ]; + postInstall = ":"; # prevent infinite recursion + }); + in + if (!isDarwin) + then { + outputs = [ "out" "dev" ]; + buildInputs = commonBuildInputs ++ [ libdrm mesa ]; + propagatedBuildInputs = [ libpciaccess epoxy ] ++ commonPropagatedBuildInputs ++ lib.optionals stdenv.isLinux [ + udev + ]; + prePatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl '' + export CFLAGS+=" -D__uid_t=uid_t -D__gid_t=gid_t" + ''; + configureFlags = [ + "--enable-kdrive" # not built by default + "--enable-xephyr" + "--enable-xcsecurity" # enable SECURITY extension + "--with-default-font-path=" # there were only paths containing "${prefix}", + # and there are no fonts in this package anyway + "--with-xkb-bin-directory=${self.xkbcomp}/bin" + "--with-xkb-path=${self.xkeyboardconfig}/share/X11/xkb" + "--with-xkb-output=$out/share/X11/xkb/compiled" + "--enable-glamor" + ] ++ lib.optionals stdenv.hostPlatform.isMusl [ + "--disable-tls" + ]; + + postInstall = '' + rm -fr $out/share/X11/xkb/compiled # otherwise X will try to write in it + ( # assert() keeps runtime reference xorgserver-dev in xf86-video-intel and others + cd "$dev" + for f in include/xorg/*.h; do + sed "1i#line 1 \"${attrs.name}/$f\"" -i "$f" + done + ) + ''; + passthru.version = version; # needed by virtualbox guest additions + } else { + nativeBuildInputs = attrs.nativeBuildInputs ++ [ autoreconfHook self.utilmacros self.fontutil ]; + buildInputs = commonBuildInputs ++ [ + bootstrap_cmds automake autoconf + Xplugin Carbon Cocoa + ]; + propagatedBuildInputs = commonPropagatedBuildInputs ++ [ + libAppleWM xorgproto + ]; + + # XQuartz patchset + patches = [ + (fetchpatch { + url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch"; + sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k"; + name = "use-cppflags-not-cflags.patch"; + }) + (fetchpatch { + url = "https://github.com/XQuartz/xorg-server/commit/75ee9649bcfe937ac08e03e82fd45d9e18110ef4.patch"; + sha256 = "1vlfylm011y00j8mig9zy6gk9bw2b4ilw2qlsc6la49zi3k0i9fg"; + name = "use-old-mitrapezoids-and-mitriangles-routines.patch"; + }) + (fetchpatch { + url = "https://github.com/XQuartz/xorg-server/commit/c58f47415be79a6564a9b1b2a62c2bf866141e73.patch"; + sha256 = "19sisqzw8x2ml4lfrwfvavc2jfyq2bj5xcf83z89jdxg8g1gdd1i"; + name = "revert-fb-changes-1.patch"; + }) + (fetchpatch { + url = "https://github.com/XQuartz/xorg-server/commit/56e6f1f099d2821e5002b9b05b715e7b251c0c97.patch"; + sha256 = "0zm9g0g1jvy79sgkvy0rjm6ywrdba2xjd1nsnjbxjccckbr6i396"; + name = "revert-fb-changes-2.patch"; + }) + ]; + + configureFlags = [ + # note: --enable-xquartz is auto + "CPPFLAGS=-I${./darwin/dri}" + "--with-default-font-path=" + "--with-apple-application-name=XQuartz" + "--with-apple-applications-dir=\${out}/Applications" + "--with-bundle-id-prefix=org.nixos.xquartz" + "--with-sha1=CommonCrypto" + ]; + preConfigure = '' + mkdir -p $out/Applications + export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Wno-error" + substituteInPlace hw/xquartz/pbproxy/Makefile.in --replace -F/System -F${ApplicationServices} + ''; + postInstall = '' + rm -fr $out/share/X11/xkb/compiled + + cp -rT ${darwinOtherX}/bin $out/bin + rm -f $out/bin/X + ln -s Xquartz $out/bin/X + + cp ${darwinOtherX}/share/man -rT $out/share/man + '' ; + passthru.version = version; + })); + + lndir = super.lndir.overrideAttrs (attrs: { + buildInputs = []; + preConfigure = '' + export XPROTO_CFLAGS=" " + export XPROTO_LIBS=" " + substituteInPlace lndir.c \ + --replace '<X11/Xos.h>' '<string.h>' \ + --replace '<X11/Xfuncproto.h>' '<unistd.h>' \ + --replace '_X_ATTRIBUTE_PRINTF(1,2)' '__attribute__((__format__(__printf__,1,2)))' \ + --replace '_X_ATTRIBUTE_PRINTF(2,3)' '__attribute__((__format__(__printf__,2,3)))' \ + --replace '_X_NORETURN' '__attribute__((noreturn))' \ + --replace 'n_dirs--;' "" + ''; + }); + + twm = super.twm.overrideAttrs (attrs: { + nativeBuildInputs = attrs.nativeBuildInputs ++ [bison flex]; + }); + + xauth = super.xauth.overrideAttrs (attrs: { + doCheck = false; # fails + }); + + xcursorthemes = super.xcursorthemes.overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ [ self.xcursorgen self.xorgproto ]; + configureFlags = [ "--with-cursordir=$(out)/share/icons" ]; + }); + + xinit = (super.xinit.override { + stdenv = if isDarwin then clangStdenv else stdenv; + }).overrideAttrs (attrs: { + buildInputs = attrs.buildInputs ++ lib.optional isDarwin bootstrap_cmds; + configureFlags = [ + "--with-xserver=${self.xorgserver.out}/bin/X" + ] ++ lib.optionals isDarwin [ + "--with-bundle-id-prefix=org.nixos.xquartz" + "--with-launchdaemons-dir=\${out}/LaunchDaemons" + "--with-launchagents-dir=\${out}/LaunchAgents" + ]; + propagatedBuildInputs = [ self.xauth ] + ++ lib.optionals isDarwin [ self.libX11 self.xorgproto ]; + prePatch = '' + sed -i 's|^defaultserverargs="|&-logfile \"$HOME/.xorg.log\"|p' startx.cpp + ''; + }); + + xf86videointel = super.xf86videointel.overrideAttrs (attrs: { + # the update script only works with released tarballs :-/ + name = "xf86-video-intel-2018-12-03"; + src = fetchurl { + url = "http://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/" + + "e5ff8e1828f97891c819c919d7115c6e18b2eb1f.tar.gz"; + sha256 = "01136zljk6liaqbk8j9m43xxzqj6xy4v50yjgi7l7g6pp8pw0gx6"; + }; + buildInputs = attrs.buildInputs ++ [self.libXfixes self.libXScrnSaver self.pixman]; + nativeBuildInputs = attrs.nativeBuildInputs ++ [autoreconfHook self.utilmacros]; + configureFlags = [ "--with-default-dri=3" "--enable-tools" ]; + + meta = attrs.meta // { + platforms = ["i686-linux" "x86_64-linux"]; + }; + }); + + xf86videoxgi = super.xf86videoxgi.overrideAttrs (attrs: { + patches = [ + # fixes invalid open mode + # https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/commit/?id=bd94c475035739b42294477cff108e0c5f15ef67 + (fetchpatch { + url = "https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/patch/?id=bd94c475035739b42294477cff108e0c5f15ef67"; + sha256 = "0myfry07655adhrpypa9rqigd6rfx57pqagcwibxw7ab3wjay9f6"; + }) + (fetchpatch { + url = "https://cgit.freedesktop.org/xorg/driver/xf86-video-xgi/patch/?id=78d1138dd6e214a200ca66fa9e439ee3c9270ec8"; + sha256 = "0z3643afgrync280zrp531ija0hqxc5mrwjif9nh9lcnzgnz2d6d"; + }) + ]; + }); + + xorgcffiles = super.xorgcffiles.overrideAttrs (attrs: { + postInstall = stdenv.lib.optionalString stdenv.isDarwin '' + substituteInPlace $out/lib/X11/config/darwin.cf --replace "/usr/bin/" "" + ''; + }); + + xwd = super.xwd.overrideAttrs (attrs: { + buildInputs = with self; attrs.buildInputs ++ [libXt]; + }); + + xrdb = super.xrdb.overrideAttrs (attrs: { + configureFlags = [ "--with-cpp=${mcpp}/bin/mcpp" ]; + }); + + sessreg = super.sessreg.overrideAttrs (attrs: { + preBuild = "sed -i 's|gcc -E|gcc -E -P|' man/Makefile"; + }); + + xrandr = super.xrandr.overrideAttrs (attrs: { + postInstall = '' + rm $out/bin/xkeystone + ''; + }); + + xcalc = super.xcalc.overrideAttrs (attrs: { + configureFlags = attrs.configureFlags or [] ++ [ + "--with-appdefaultdir=${placeholder "out"}/share/X11/app-defaults" + ]; + nativeBuildInputs = attrs.nativeBuildInputs or [] ++ [ makeWrapper ]; + postInstall = '' + wrapProgram $out/bin/xcalc \ + --set XAPPLRESDIR ${placeholder "out"}/share/X11/app-defaults + ''; + }); +} diff --git a/nixpkgs/pkgs/servers/x11/xorg/tarballs.list b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list new file mode 100644 index 000000000000..426b848a138d --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/tarballs.list @@ -0,0 +1,221 @@ +https://invisible-mirror.net/archives/luit/luit-20190106.tgz +https://xcb.freedesktop.org/dist/libpthread-stubs-0.4.tar.bz2 +https://xcb.freedesktop.org/dist/libxcb-1.13.1.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-proto-1.13.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-0.4.0.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-cursor-0.1.3.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-errors-1.0.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-image-0.4.0.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-keysyms-0.4.0.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-renderutil-0.3.9.tar.bz2 +https://xcb.freedesktop.org/dist/xcb-util-wm-0.4.1.tar.bz2 +mirror://xorg/individual/app/appres-1.0.5.tar.bz2 +mirror://xorg/individual/app/bdftopcf-1.1.tar.bz2 +mirror://xorg/individual/app/bitmap-1.0.9.tar.gz +mirror://xorg/individual/app/editres-1.0.7.tar.bz2 +mirror://xorg/individual/app/fonttosfnt-1.0.5.tar.bz2 +mirror://xorg/individual/app/iceauth-1.0.8.tar.bz2 +mirror://xorg/individual/app/ico-1.0.5.tar.bz2 +mirror://xorg/individual/app/listres-1.0.4.tar.bz2 +mirror://xorg/individual/app/mkfontscale-1.2.1.tar.bz2 +mirror://xorg/individual/app/oclock-1.0.4.tar.bz2 +mirror://xorg/individual/app/sessreg-1.1.1.tar.bz2 +mirror://xorg/individual/app/setxkbmap-1.3.1.tar.bz2 +mirror://xorg/individual/app/smproxy-1.0.6.tar.bz2 +mirror://xorg/individual/app/transset-1.0.2.tar.bz2 +mirror://xorg/individual/app/twm-1.0.10.tar.bz2 +mirror://xorg/individual/app/viewres-1.0.5.tar.bz2 +mirror://xorg/individual/app/x11perf-1.6.1.tar.bz2 +mirror://xorg/individual/app/xauth-1.0.10.tar.bz2 +mirror://xorg/individual/app/xbacklight-1.2.2.tar.bz2 +mirror://xorg/individual/app/xcalc-1.1.0.tar.bz2 +mirror://xorg/individual/app/xclock-1.0.8.tar.bz2 +mirror://xorg/individual/app/xcmsdb-1.0.5.tar.bz2 +mirror://xorg/individual/app/xcompmgr-1.1.8.tar.bz2 +mirror://xorg/individual/app/xconsole-1.0.7.tar.bz2 +mirror://xorg/individual/app/xcursorgen-1.0.7.tar.bz2 +mirror://xorg/individual/app/xdm-1.1.12.tar.bz2 +mirror://xorg/individual/app/xdpyinfo-1.3.2.tar.bz2 +mirror://xorg/individual/app/xdriinfo-1.0.6.tar.bz2 +mirror://xorg/individual/app/xev-1.2.3.tar.bz2 +mirror://xorg/individual/app/xeyes-1.1.2.tar.bz2 +mirror://xorg/individual/app/xfd-1.1.3.tar.bz2 +mirror://xorg/individual/app/xfontsel-1.0.6.tar.bz2 +mirror://xorg/individual/app/xfs-1.2.0.tar.bz2 +mirror://xorg/individual/app/xfsinfo-1.0.6.tar.bz2 +mirror://xorg/individual/app/xgamma-1.0.6.tar.bz2 +mirror://xorg/individual/app/xgc-1.0.5.tar.bz2 +mirror://xorg/individual/app/xhost-1.0.8.tar.bz2 +mirror://xorg/individual/app/xinit-1.4.1.tar.bz2 +mirror://xorg/individual/app/xinput-1.6.2.tar.bz2 +mirror://xorg/individual/app/xkbcomp-1.4.2.tar.bz2 +mirror://xorg/individual/app/xkbevd-1.1.4.tar.bz2 +mirror://xorg/individual/app/xkbprint-1.0.4.tar.bz2 +mirror://xorg/individual/app/xkbutils-1.0.4.tar.bz2 +mirror://xorg/individual/app/xkill-1.0.5.tar.bz2 +mirror://xorg/individual/app/xload-1.1.3.tar.bz2 +mirror://xorg/individual/app/xlsatoms-1.1.3.tar.bz2 +mirror://xorg/individual/app/xlsclients-1.1.4.tar.bz2 +mirror://xorg/individual/app/xlsfonts-1.0.6.tar.bz2 +mirror://xorg/individual/app/xmag-1.0.6.tar.bz2 +mirror://xorg/individual/app/xmessage-1.0.5.tar.bz2 +mirror://xorg/individual/app/xmodmap-1.0.10.tar.bz2 +mirror://xorg/individual/app/xmore-1.0.3.tar.bz2 +mirror://xorg/individual/app/xpr-1.0.5.tar.bz2 +mirror://xorg/individual/app/xprop-1.2.4.tar.bz2 +mirror://xorg/individual/app/xrandr-1.5.0.tar.bz2 +mirror://xorg/individual/app/xrdb-1.2.0.tar.bz2 +mirror://xorg/individual/app/xrefresh-1.0.6.tar.bz2 +mirror://xorg/individual/app/xset-1.2.4.tar.bz2 +mirror://xorg/individual/app/xsetroot-1.1.2.tar.bz2 +mirror://xorg/individual/app/xsm-1.0.4.tar.bz2 +mirror://xorg/individual/app/xstdcmap-1.0.4.tar.bz2 +mirror://xorg/individual/app/xtrap-1.0.3.tar.bz2 +mirror://xorg/individual/app/xvinfo-1.1.4.tar.bz2 +mirror://xorg/individual/app/xwd-1.0.7.tar.bz2 +mirror://xorg/individual/app/xwininfo-1.1.4.tar.bz2 +mirror://xorg/individual/app/xwud-1.0.5.tar.bz2 +mirror://xorg/individual/data/xbitmaps-1.1.2.tar.bz2 +mirror://xorg/individual/data/xcursor-themes-1.0.6.tar.bz2 +mirror://xorg/individual/data/xkeyboard-config/xkeyboard-config-2.27.tar.bz2 +mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2 +mirror://xorg/individual/doc/xorg-sgml-doctools-1.11.tar.bz2 +mirror://xorg/individual/driver/xf86-input-evdev-2.10.6.tar.bz2 +mirror://xorg/individual/driver/xf86-input-joystick-1.6.3.tar.bz2 +mirror://xorg/individual/driver/xf86-input-keyboard-1.9.0.tar.bz2 +mirror://xorg/individual/driver/xf86-input-libinput-0.28.2.tar.bz2 +mirror://xorg/individual/driver/xf86-input-mouse-1.9.3.tar.bz2 +mirror://xorg/individual/driver/xf86-input-synaptics-1.9.1.tar.bz2 +mirror://xorg/individual/driver/xf86-input-vmmouse-13.1.0.tar.bz2 +mirror://xorg/individual/driver/xf86-input-void-1.4.1.tar.bz2 +mirror://xorg/individual/driver/xf86-video-amdgpu-19.0.1.tar.bz2 +mirror://xorg/individual/driver/xf86-video-apm-1.3.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-ark-0.7.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-ast-1.1.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-ati-19.0.1.tar.bz2 +mirror://xorg/individual/driver/xf86-video-chips-1.4.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-cirrus-1.5.3.tar.bz2 +mirror://xorg/individual/driver/xf86-video-dummy-0.3.8.tar.bz2 +mirror://xorg/individual/driver/xf86-video-fbdev-0.5.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-geode-2.11.19.tar.bz2 +mirror://xorg/individual/driver/xf86-video-glide-1.2.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-glint-1.2.9.tar.bz2 +mirror://xorg/individual/driver/xf86-video-i128-1.4.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-i740-1.4.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-intel-2.99.917.tar.bz2 +mirror://xorg/individual/driver/xf86-video-mach64-6.9.6.tar.bz2 +mirror://xorg/individual/driver/xf86-video-mga-2.0.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-neomagic-1.3.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-newport-0.2.4.tar.bz2 +mirror://xorg/individual/driver/xf86-video-nouveau-1.0.15.tar.bz2 +mirror://xorg/individual/driver/xf86-video-nv-2.1.21.tar.bz2 +mirror://xorg/individual/driver/xf86-video-omap-0.4.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-openchrome-0.6.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-qxl-0.1.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-r128-6.11.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-rendition-4.2.7.tar.bz2 +mirror://xorg/individual/driver/xf86-video-s3virge-1.11.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-savage-2.3.9.tar.bz2 +mirror://xorg/individual/driver/xf86-video-siliconmotion-1.7.9.tar.bz2 +mirror://xorg/individual/driver/xf86-video-sis-0.10.9.tar.bz2 +mirror://xorg/individual/driver/xf86-video-sisusb-0.9.7.tar.bz2 +mirror://xorg/individual/driver/xf86-video-suncg6-1.1.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-sunffb-1.2.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-sunleo-1.2.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-tdfx-1.5.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-tga-1.2.2.tar.bz2 +mirror://xorg/individual/driver/xf86-video-trident-1.3.8.tar.bz2 +mirror://xorg/individual/driver/xf86-video-v4l-0.3.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vboxvideo-1.0.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vesa-2.4.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-vmware-13.3.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-voodoo-1.2.5.tar.bz2 +mirror://xorg/individual/driver/xf86-video-wsfb-0.4.0.tar.bz2 +mirror://xorg/individual/driver/xf86-video-xgi-1.6.1.tar.bz2 +mirror://xorg/individual/font/encodings-1.0.4.tar.bz2 +mirror://xorg/individual/font/font-adobe-100dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-adobe-75dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-adobe-utopia-100dpi-1.0.4.tar.bz2 +mirror://xorg/individual/font/font-adobe-utopia-75dpi-1.0.4.tar.bz2 +mirror://xorg/individual/font/font-adobe-utopia-type1-1.0.4.tar.bz2 +mirror://xorg/individual/font/font-alias-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-arabic-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bh-100dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bh-75dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bh-lucidatypewriter-100dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bh-lucidatypewriter-75dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bh-ttf-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bh-type1-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bitstream-100dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bitstream-75dpi-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-bitstream-type1-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-cronyx-cyrillic-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-cursor-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-daewoo-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-dec-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-ibm-type1-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-isas-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-jis-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-micro-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-misc-cyrillic-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-misc-ethiopic-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-misc-meltho-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-misc-misc-1.1.2.tar.bz2 +mirror://xorg/individual/font/font-mutt-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-schumacher-misc-1.1.2.tar.bz2 +mirror://xorg/individual/font/font-screen-cyrillic-1.0.4.tar.bz2 +mirror://xorg/individual/font/font-sony-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-sun-misc-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-util-1.3.1.tar.bz2 +mirror://xorg/individual/font/font-winitzki-cyrillic-1.0.3.tar.bz2 +mirror://xorg/individual/font/font-xfree86-type1-1.0.4.tar.bz2 +mirror://xorg/individual/lib/libAppleWM-1.4.1.tar.bz2 +mirror://xorg/individual/lib/libdmx-1.1.4.tar.bz2 +mirror://xorg/individual/lib/libfontenc-1.1.4.tar.bz2 +mirror://xorg/individual/lib/libFS-1.0.8.tar.bz2 +mirror://xorg/individual/lib/libICE-1.0.9.tar.bz2 +mirror://xorg/individual/lib/libpciaccess-0.14.tar.bz2 +mirror://xorg/individual/lib/libSM-1.2.3.tar.bz2 +mirror://xorg/individual/lib/libWindowsWM-1.0.1.tar.bz2 +mirror://xorg/individual/lib/libX11-1.6.7.tar.bz2 +mirror://xorg/individual/lib/libXau-1.0.9.tar.bz2 +mirror://xorg/individual/lib/libXaw-1.0.13.tar.bz2 +mirror://xorg/individual/lib/libXaw3d-1.6.3.tar.bz2 +mirror://xorg/individual/lib/libXcomposite-0.4.5.tar.bz2 +mirror://xorg/individual/lib/libXcursor-1.2.0.tar.bz2 +mirror://xorg/individual/lib/libXdamage-1.1.5.tar.bz2 +mirror://xorg/individual/lib/libXdmcp-1.1.3.tar.bz2 +mirror://xorg/individual/lib/libXext-1.3.4.tar.bz2 +mirror://xorg/individual/lib/libXfixes-5.0.3.tar.bz2 +mirror://xorg/individual/lib/libXfont-1.5.4.tar.bz2 +mirror://xorg/individual/lib/libXfont2-2.0.3.tar.bz2 +mirror://xorg/individual/lib/libXft-2.3.3.tar.bz2 +mirror://xorg/individual/lib/libXi-1.7.9.tar.bz2 +mirror://xorg/individual/lib/libXinerama-1.1.4.tar.bz2 +mirror://xorg/individual/lib/libxkbfile-1.1.0.tar.bz2 +mirror://xorg/individual/lib/libXmu-1.1.3.tar.bz2 +mirror://xorg/individual/lib/libXp-1.0.3.tar.bz2 +mirror://xorg/individual/lib/libXpm-3.5.12.tar.bz2 +mirror://xorg/individual/lib/libXpresent-1.0.0.tar.bz2 +mirror://xorg/individual/lib/libXrandr-1.5.2.tar.bz2 +mirror://xorg/individual/lib/libXrender-0.9.10.tar.bz2 +mirror://xorg/individual/lib/libXres-1.2.0.tar.bz2 +mirror://xorg/individual/lib/libXScrnSaver-1.2.3.tar.bz2 +mirror://xorg/individual/lib/libxshmfence-1.3.tar.bz2 +mirror://xorg/individual/lib/libXTrap-1.0.1.tar.bz2 +mirror://xorg/individual/lib/libXt-1.1.5.tar.bz2 +mirror://xorg/individual/lib/libXtst-1.2.3.tar.bz2 +mirror://xorg/individual/lib/libXv-1.0.11.tar.bz2 +mirror://xorg/individual/lib/libXvMC-1.0.11.tar.bz2 +mirror://xorg/individual/lib/libXxf86dga-1.1.5.tar.bz2 +mirror://xorg/individual/lib/libXxf86misc-1.0.4.tar.bz2 +mirror://xorg/individual/lib/libXxf86vm-1.1.4.tar.bz2 +mirror://xorg/individual/lib/xtrans-1.4.0.tar.bz2 +mirror://xorg/individual/proto/xorgproto-2018.4.tar.bz2 +mirror://xorg/individual/util/gccmakedep-1.0.3.tar.bz2 +mirror://xorg/individual/util/imake-1.0.8.tar.bz2 +mirror://xorg/individual/util/lndir-1.0.3.tar.bz2 +mirror://xorg/individual/util/makedepend-1.0.6.tar.bz2 +mirror://xorg/individual/util/util-macros-1.19.2.tar.bz2 +mirror://xorg/individual/util/xorg-cf-files-1.0.6.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.20.5.tar.bz2 diff --git a/nixpkgs/pkgs/servers/x11/xorg/xcb-util-xrm.nix b/nixpkgs/pkgs/servers/x11/xorg/xcb-util-xrm.nix new file mode 100644 index 000000000000..0a008227b9fb --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/xcb-util-xrm.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, pkgconfig, m4, libxcb, xcbutil, libX11 }: + +stdenv.mkDerivation rec { + version = "1.3"; + name = "xcb-util-xrm-${version}"; + + src = fetchurl { + url = "https://github.com/Airblader/xcb-util-xrm/releases/download/v${version}/${name}.tar.bz2"; + sha256 = "118cj1ybw86pgw0l5whn9vbg5n5b0ijcpx295mwahzi004vz671h"; + }; + + nativeBuildInputs = [ pkgconfig m4 ]; + doCheck = true; + buildInputs = [ libxcb xcbutil ]; + checkInputs = [ libX11 ]; + + meta = with stdenv.lib; { + description = "XCB utility functions for the X resource manager"; + homepage = https://github.com/Airblader/xcb-util-xrm; + license = licenses.mit; # X11 variant + platforms = with platforms; unix; + }; +} diff --git a/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix new file mode 100644 index 000000000000..06f54fd52073 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xorg/xwayland.nix @@ -0,0 +1,36 @@ +{ stdenv, wayland, wayland-protocols, xorgserver, xkbcomp, xkeyboard_config, epoxy, libxslt, libunwind, makeWrapper }: + +with stdenv.lib; + +xorgserver.overrideAttrs (oldAttrs: { + + name = "xwayland-${xorgserver.version}"; + propagatedBuildInputs = oldAttrs.propagatedBuildInputs + ++ [wayland wayland-protocols epoxy libxslt makeWrapper libunwind]; + configureFlags = [ + "--disable-docs" + "--disable-devel-docs" + "--enable-xwayland" + "--disable-xorg" + "--disable-xvfb" + "--disable-xnest" + "--disable-xquartz" + "--disable-xwin" + "--enable-glamor" + "--with-default-font-path=" + "--with-xkb-bin-directory=${xkbcomp}/bin" + "--with-xkb-path=${xkeyboard_config}/etc/X11/xkb" + "--with-xkb-output=$(out)/share/X11/xkb/compiled" + ]; + + postInstall = '' + rm -fr $out/share/X11/xkb/compiled + ''; + + meta = { + description = "An X server for interfacing X11 apps with the Wayland protocol"; + homepage = https://wayland.freedesktop.org/xserver.html; + license = licenses.mit; + platforms = platforms.linux; + }; +}) diff --git a/nixpkgs/pkgs/servers/x11/xquartz/X11 b/nixpkgs/pkgs/servers/x11/xquartz/X11 new file mode 100755 index 000000000000..e6bb87fab3fe --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/X11 @@ -0,0 +1,20 @@ +#!@shell@ + +set "$(dirname "$0")"/X11.bin "${@}" + +export XQUARTZ_DEFAULT_CLIENT="@DEFAULT_CLIENT@" +export XQUARTZ_DEFAULT_SHELL="@DEFAULT_SHELL@" +export XQUARTZ_DEFAULT_STARTX="@DEFAULT_STARTX@" +export FONTCONFIG_FILE="@FONTCONFIG_FILE@" + +if [ -x ~/.x11run ]; then + exec ~/.x11run "${@}" +fi + +case $(basename "${SHELL}") in + bash) exec -l "${SHELL}" --login -c 'exec "${@}"' - "${@}" ;; + ksh|sh|zsh) exec -l "${SHELL}" -c 'exec "${@}"' - "${@}" ;; + csh|tcsh) exec -l "${SHELL}" -c 'exec $argv:q' "${@}" ;; + es|rc) exec -l "${SHELL}" -l -c 'exec $*' "${@}" ;; + *) exec "${@}" ;; +esac diff --git a/nixpkgs/pkgs/servers/x11/xquartz/default.nix b/nixpkgs/pkgs/servers/x11/xquartz/default.nix new file mode 100644 index 000000000000..f18a50fe7e92 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/default.nix @@ -0,0 +1,192 @@ +{ stdenv, buildEnv, makeFontsConf, gnused, writeScript, xorg, bashInteractive, xterm, makeWrapper, ruby +, quartz-wm, fontconfig, xlsfonts, xfontsel +, ttf_bitstream_vera, freefont_ttf, liberation_ttf +, shell ? "${bashInteractive}/bin/bash" +}: + +# ------------ +# Installation +# ------------ +# +# First, assuming you've previously installed XQuartz from macosforge.com, +# unload and remove the existing launch agents: +# +# $ sudo launchctl unload /Library/LaunchAgents/org.macosforge.xquartz.startx.plist +# $ sudo launchctl unload /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist +# $ sudo rm /Library/LaunchAgents/org.macosforge.xquartz.startx.plist +# $ sudo rm /Library/LaunchDaemons/org.macosforge.xquartz.privileged_startx.plist +# +# (You will need to log out for the above changes to take effect.) +# +# Then install xquartz from nixpkgs: +# +# $ nix-env -i xquartz +# $ xquartz-install +# +# You'll also want to add the following to your shell's profile (after you +# source nix.sh, so $NIX_LINK points to your user profile): +# +# if [ "$(uname)" = "Darwin" -a -n "$NIX_LINK" -a -f $NIX_LINK/etc/X11/fonts.conf ]; then +# export FONTCONFIG_FILE=$NIX_LINK/etc/X11/fonts.conf +# fi + +# A note about dependencies: +# Xquartz wants to exec XQuartz.app, XQuartz.app wants to exec xstart, and +# xstart wants to exec Xquartz, so we must bundle all three to prevent a cycle. +# Coincidentally, this also makes it trivial to install launch agents/daemons +# that point into the user's profile. + +let + installer = writeScript "xquartz-install" '' + NIX_LINK=$HOME/.nix-profile + + tmpdir=$(/usr/bin/mktemp -d $TMPDIR/xquartz-installer-XXXXXXXX) + agentName=org.nixos.xquartz.startx.plist + daemonName=org.nixos.xquartz.privileged_startx.plist + sed=${gnused}/bin/sed + + cp ${./org.nixos.xquartz.startx.plist} $tmpdir/$agentName + $sed -i "s|@LAUNCHD_STARTX@|$NIX_LINK/etc/X11/xinit/launchd_startx|" $tmpdir/$agentName + $sed -i "s|@STARTX@|$NIX_LINK/bin/startx|" $tmpdir/$agentName + $sed -i "s|@XQUARTZ@|$NIX_LINK/bin/Xquartz|" $tmpdir/$agentName + + cp ${./org.nixos.xquartz.privileged_startx.plist} $tmpdir/$daemonName + $sed -i "s|@PRIVILEGED_STARTX@|$NIX_LINK/lib/X11/xinit/privileged_startx|" $tmpdir/$daemonName + $sed -i "s|@PRIVILEGED_STARTX_D@|$NIX_LINK/lib/X11/xinit/privileged_startx.d|" $tmpdir/$daemonName + + sudo cp $tmpdir/$agentName /Library/LaunchAgents/$agentName + sudo cp $tmpdir/$daemonName /Library/LaunchDaemons/$daemonName + sudo launchctl load -w /Library/LaunchAgents/$agentName + sudo launchctl load -w /Library/LaunchDaemons/$daemonName + ''; + fontDirs = [ + xorg.fontbhlucidatypewriter100dpi + xorg.fontbhlucidatypewriter75dpi + ttf_bitstream_vera + freefont_ttf + liberation_ttf + xorg.fontbh100dpi + xorg.fontmiscmisc + xorg.fontcursormisc + ]; + fontsConf = makeFontsConf { + fontDirectories = fontDirs ++ [ + "/Library/Fonts" + "~/Library/Fonts" + ]; + }; + fonts = import ./system-fonts.nix { + inherit stdenv xorg fontDirs; + }; + # any X related programs expected to be available via $PATH + env = buildEnv { + name = "xquartz-env"; + pathsToLink = [ "/bin" ]; + paths = with xorg; [ + # non-xorg + quartz-wm xterm fontconfig + # xorg + xlsfonts xfontsel + bdftopcf fontutil iceauth libXpm lndir luit makedepend mkfontdir + mkfontscale sessreg setxkbmap smproxy twm x11perf xauth xbacklight xclock + xcmsdb xcursorgen xdm xdpyinfo xdriinfo xev xeyes xfs xgamma xhost + xinput xkbcomp xkbevd xkbutils xkill xlsatoms xlsclients xmessage xmodmap + xpr xprop xrandr xrdb xrefresh xset xsetroot xvinfo xwd xwininfo xwud + ]; + }; +in stdenv.mkDerivation { + name = "xquartz-${stdenv.lib.getVersion xorg.xorgserver}"; + + nativeBuildInputs = [ ruby makeWrapper ]; + + unpackPhase = "sourceRoot=."; + + dontBuild = true; + + installPhase = '' + cp -rT ${xorg.xinit} $out + chmod -R u+w $out + cp -rT ${xorg.xorgserver} $out + chmod -R u+w $out + + cp ${installer} $out/bin/xquartz-install + + rm -rf $out/LaunchAgents $out/LaunchDaemons + + fontsConfPath=$out/etc/X11/fonts.conf + cp ${fontsConf} $fontsConfPath + + cp ${./startx} $out/bin/startx + substituteInPlace $out/bin/startx \ + --replace "@shell@" "${stdenv.shell}" \ + --replace "@PATH@" "$out/bin:${env}" \ + --replace "@XAUTH@" "${xorg.xauth}/bin/xauth" \ + --replace "@FONT_CACHE@" "$out/bin/font_cache" \ + --replace "@PRIVILEGED_STARTX@" "$out/lib/X11/xinit/privileged_startx" \ + --replace "@DEFAULT_SERVER@" "$out/bin/Xquartz" \ + --replace "@DEFAULT_CLIENT@" "${xterm}/bin/xterm" \ + --replace "@XINIT@" "$out/bin/xinit" \ + --replace "@XINITRC@" "$out/etc/X11/xinit/xinitrc" \ + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" + + wrapProgram $out/bin/Xquartz \ + --set XQUARTZ_X11 $out/Applications/XQuartz.app/Contents/MacOS/X11 + + defaultStartX="$out/bin/startx -- $out/bin/Xquartz" + + ruby ${./patch_plist.rb} \ + ${stdenv.lib.escapeShellArg (builtins.toXML { + XQUARTZ_DEFAULT_CLIENT = "${xterm}/bin/xterm"; + XQUARTZ_DEFAULT_SHELL = "${shell}"; + XQUARTZ_DEFAULT_STARTX = "@STARTX@"; + FONTCONFIG_FILE = "@FONTCONFIG_FILE@"; + })} \ + $out/Applications/XQuartz.app/Contents/Info.plist + substituteInPlace $out/Applications/XQuartz.app/Contents/Info.plist \ + --replace "@STARTX@" "$defaultStartX" \ + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" + + mkdir -p $out/lib/X11/xinit/privileged_startx.d + cp ${./privileged} $out/lib/X11/xinit/privileged_startx.d/privileged + substituteInPlace $out/lib/X11/xinit/privileged_startx.d/privileged \ + --replace "@shell@" "${stdenv.shell}" \ + --replace "@PATH@" "$out/bin:${env}" \ + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" \ + --replace "@FONT_CACHE@" "$out/bin/font_cache" + + cp ${./font_cache} $out/bin/font_cache + substituteInPlace $out/bin/font_cache \ + --replace "@shell@" "${stdenv.shell}" \ + --replace "@PATH@" "$out/bin:${env}" \ + --replace "@ENCODINGSDIR@" "${xorg.encodings}/share/fonts/X11/encodings" \ + --replace "@MKFONTDIR@" "${xorg.mkfontdir}/bin/mkfontdir" \ + --replace "@MKFONTSCALE@" "${xorg.mkfontscale}/bin/mkfontscale" \ + --replace "@FC_CACHE@" "${fontconfig.bin}/bin/fc-cache" \ + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" + + cp ${./xinitrc} $out/etc/X11/xinit/xinitrc + substituteInPlace $out/etc/X11/xinit/xinitrc \ + --replace "@shell@" "${stdenv.shell}" \ + --replace "@PATH@" "$out/bin:${env}" \ + --replace "@XSET@" "${xorg.xset}/bin/xset" \ + --replace "@XMODMAP@" "${xorg.xmodmap}/bin/xmodmap" \ + --replace "@XRDB@" "${xorg.xrdb}/bin/xrdb" \ + --replace "@SYSTEM_FONTS@" "${fonts}/share/X11-fonts/" \ + --replace "@QUARTZ_WM@" "${quartz-wm}/bin/quartz-wm" \ + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" + + cp ${./X11} $out/Applications/XQuartz.app/Contents/MacOS/X11 + substituteInPlace $out/Applications/XQuartz.app/Contents/MacOS/X11 \ + --replace "@shell@" "${stdenv.shell}" \ + --replace "@DEFAULT_SHELL@" "${shell}" \ + --replace "@DEFAULT_STARTX@" "$defaultStartX" \ + --replace "@DEFAULT_CLIENT@" "${xterm}/bin/xterm" \ + --replace "@FONTCONFIG_FILE@" "$fontsConfPath" + ''; + + meta = with stdenv.lib; { + platforms = platforms.darwin; + maintainers = with maintainers; [ cstrahan ]; + license = licenses.mit; + }; +} diff --git a/nixpkgs/pkgs/servers/x11/xquartz/font_cache b/nixpkgs/pkgs/servers/x11/xquartz/font_cache new file mode 100755 index 000000000000..b1191980d77f --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/font_cache @@ -0,0 +1,240 @@ +#!@shell@ + +export PATH=@PATH@:$PATH + +export FONTCONFIG_FILE="@FONTCONFIG_FILE@" +ENCODINGSDIR="@ENCODINGSDIR@" +FC_LOCKFILE="" + +# Are we caching system fonts or user fonts? +system=0 + +# Are we including OSX font dirs ({/,~/,/System/}Library/Fonts) +osxfonts=1 + +# Do we want to force a recache? +force=0 + +# How noisy are we? +verbose=0 + +# Check if the data in the given directory is newer than its cache +check_dirty() { + local dir=$1 + local fontfiles="" + local retval=1 + + # If the dir does not exist, we just exit + if [[ ! -d "${dir}" ]]; then + return 1 + fi + + # Create a list of all files in the dir + # Filter out config / cache files. Ugly... counting down the day until + # xfs finally goes away + fontfiles="$(find ${dir}/ -maxdepth 1 -type f | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')" + + # Fonts were deleted (or never there). Kill off the caches + if [[ -z "${fontfiles}" ]] ; then + local f + for f in "${dir}"/fonts.* "${dir}"/encodings.dir; do + if [[ -f ${f} ]] ; then + rm -f "${f}" + fi + done + return 1 + fi + + # Force a recache + if [[ ${force} == 1 ]] ; then + retval=0 + fi + + # If we don't have our caches, we are dirty + if [[ ! -f "${dir}/fonts.list" || ! -f "${dir}/fonts.dir" || ! -f "${dir}/encodings.dir" ]]; then + retval=0 + fi + + # Check that no files were added or removed.... + if [[ "${retval}" -ne 0 && "$(cat ${dir}/fonts.list)" != "${fontfiles}" ]] ; then + retval=0 + fi + + # Check that no files were updated.... + if [[ "${retval}" -ne 0 ]] ; then + local changed="$(find ${dir}/ -type f -cnewer ${dir}/fonts.dir | awk '$0 !~ /fonts\..*$|^.*\.dir$/ {print}')" + + if [[ -n "${changed}" ]] ; then + retval=0 + fi + fi + + # Recreate fonts.list since something changed + if [[ "${retval}" == 0 ]] ; then + echo "${fontfiles}" > "${dir}"/fonts.list + fi + + return ${retval} +} + +get_fontdirs() { + local d + if [[ $system == 1 ]] ; then + if [[ $osxfonts == 1 ]] ; then + find {/System/,/}Library/Fonts -type d + fi + else + if [[ $osxfonts == 1 && -d "${HOME}/Library/Fonts" ]] ; then + find "${HOME}/Library/Fonts" -type d + fi + + if [[ -d "${HOME}/.fonts" ]] ; then + find "${HOME}/.fonts" -type d + fi + fi +} + +setup_fontdirs() { + local x="" + local fontdirs="" + local changed="no" + + umask 022 + + if [[ $system == 1 ]] ; then + echo "font_cache: Scanning system font directories to generate X11 font caches" + else + echo "font_cache: Scanning user font directories to generate X11 font caches" + fi + + OIFS=$IFS + IFS=' +' + for x in $(get_fontdirs) ; do + if [[ -d "${x}" ]] && check_dirty "${x}" ; then + if [[ -z "${fontdirs}" ]] ; then + fontdirs="${x}" + else + fontdirs="${fontdirs}${IFS}${x}" + fi + fi + done + + if [[ -n "${fontdirs}" ]] ; then + echo "font_cache: Making fonts.dir for updated directories." + for x in ${fontdirs} ; do + if [[ $verbose == 1 ]] ; then + echo "font_cache: ${x}" + fi + + # First, generate fonts.scale for scaleable fonts that might be there + @MKFONTSCALE@ \ + -a $ENCODINGSDIR/encodings.dir \ + -a $ENCODINGSDIR/large/encodings.dir \ + -- ${x} + + # Next, generate fonts.dir + if [[ $verbose == 1 ]] ; then + @MKFONTDIR@ \ + -e $ENCODINGSDIR \ + -e $ENCODINGSDIR/large \ + -- ${x} + else + @MKFONTDIR@ \ + -e $ENCODINGSDIR \ + -e $ENCODINGSDIR/large \ + -- ${x} > /dev/null + fi + done + fi + IFS=$OIFS + + # Finally, update fontconfig's cache + echo "font_cache: Updating FC cache" + if [[ $system == 1 ]] ; then + @FC_CACHE@ -s \ + $([[ $force == 1 ]] && echo "-f -r") \ + $([[ $verbose == 1 ]] && echo "-v") + else + @FC_CACHE@ \ + $([[ $force == 1 ]] && echo "-f -r") \ + $([[ $verbose == 1 ]] && echo "-v") + fi + echo "font_cache: Done" +} + +do_usage() { + echo "font_cache [options]" + echo " -f, --force : Force cache recreation" + echo " -n, --no-osxfonts : Just cache X11 font directories" + echo " (-n just pertains to XFont cache, not fontconfig)" + echo " -s, --system : Cache system font dirs instead of user dirs" + echo " -v, --verbose : Verbose Output" +} + +cleanup() { + [[ -r "${FC_LOCKFILE}" ]] && rm -f "${FC_LOCKFILE}" + exit 1 +} + +while [[ $# -gt 0 ]] ; do + case $1 in + -s|--system) system=1 ;; + -f|--force) force=1 ;; + -v|--verbose) verbose=1 ;; + -n|--no-osxfonts) osxfonts=0 ;; + --help) do_usage ; exit 0 ;; + *) do_usage ; exit 1 ;; + esac + shift +done + +if [[ $system == 1 ]] ; then + FC_LOCKFILE="/tmp/font_cache.$UID.lock" +elif [[ -w "${TMPDIR}" ]] ; then + FC_LOCKFILE="${TMPDIR}/font_cache.lock" +elif [[ -w "/tmp" ]] ; then + FC_LOCKFILE="/tmp/font_cache.$UID.lock" +else + FC_LOCKFILE="${HOME}/.font_cache.lock" +fi + +if [[ -x /usr/bin/lockfile ]] ; then + if /usr/bin/lockfile -r 0 -l 240 -s 4 -! "${FC_LOCKFILE}" ; then + echo "font_cache is already running." >&2 + echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2 + exit 1 + fi +else + if [[ -r "${FC_LOCKFILE}" ]] ; then + read OLD_PID < "${FC_LOCKFILE}" + if kill -0 ${OLD_PID} >& /dev/null ; then + echo "font_cache is already running with PID ${OLD_PID}." >&2 + echo "If you believe this to be erroneous, please remove ${FC_LOCKFILE}." >&2 + exit 1 + fi + + echo "Removing stale ${FC_LOCKFILE}" >&2 + rm -f "${FC_LOCKFILE}" + fi + + echo $$ > "${FC_LOCKFILE}" + + if [[ ! -r "${FC_LOCKFILE}" ]] ; then + echo "Unable to write to ${FC_LOCKFILE}." >&2 + exit 1 + fi + + # Now make sure we didn't collide mid-air + read OLD_PID < "${FC_LOCKFILE}" + if [[ $$ != ${OLD_PID} ]] ; then + echo "font_cache is already running with PID ${OLD_PID}." >&2 + exit 1 + fi +fi + +trap cleanup SIGINT SIGQUIT SIGABRT SIGTERM + +setup_fontdirs + +rm -f "${FC_LOCKFILE}" diff --git a/nixpkgs/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist b/nixpkgs/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist new file mode 100644 index 000000000000..190b383676d4 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/org.nixos.xquartz.privileged_startx.plist @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.nixos.xquartz.privileged_startx</string> + <key>ProgramArguments</key> + <array> + <string>@PRIVILEGED_STARTX@</string> + <string>-d</string> + <string>@PRIVILEGED_STARTX_D@</string> + </array> + <key>MachServices</key> + <dict> + <key>org.nixos.xquartz.privileged_startx</key> + <true/> + </dict> + <key>TimeOut</key> + <integer>120</integer> + <key>EnableTransactions</key> + <true/> + </dict> +</plist> diff --git a/nixpkgs/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist b/nixpkgs/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist new file mode 100644 index 000000000000..7a95916da165 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/org.nixos.xquartz.startx.plist @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> + <dict> + <key>Label</key> + <string>org.nixos.xquartz.startx</string> + <key>ProgramArguments</key> + <array> + <string>@LAUNCHD_STARTX@</string> + <string>@STARTX@</string> + <string>--</string> + <string>@XQUARTZ@</string> + </array> + <key>Sockets</key> + <dict> + <key>org.nixos.xquartz:0</key> + <dict> + <key>SecureSocketWithKey</key> + <string>DISPLAY</string> + </dict> + </dict> + <key>ServiceIPC</key> + <true/> + <key>EnableTransactions</key> + <true/> + </dict> +</plist> diff --git a/nixpkgs/pkgs/servers/x11/xquartz/patch_plist.rb b/nixpkgs/pkgs/servers/x11/xquartz/patch_plist.rb new file mode 100644 index 000000000000..9b0f778426ed --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/patch_plist.rb @@ -0,0 +1,47 @@ +require 'rexml/document' + +# This script is for setting environment variables in OSX applications. +# +# This script takes two arguments: +# 1) A Nix attrset serialized via `builtins.toXML' +# 2) The path to an OSX app's Info.plist file. + +def main(serialized_attrs, plist_path) + env = attrs_to_hash(serialized_attrs) + doc = REXML::Document.new(File.open(plist_path, &:read)) + topmost_dict = doc.root.elements.detect { |e| e.name == "dict" } + topmost_dict.add_element("key").tap do |key| + key.text = "LSEnvironment" + end + topmost_dict.add_element(env_to_dict(env)) + + formatter = REXML::Formatters::Pretty.new(2) + formatter.compact = true + formatter.write(doc, File.open(plist_path, "w")) +end + +# Convert a `builtins.toXML' serialized attrs to a hash. +# This assumes the values are strings. +def attrs_to_hash(serialized_attrs) + hash = {} + env_vars = REXML::Document.new(serialized_attrs) + env_vars.root.elements[1].elements.each do |attr| + name = attr.attribute("name") + value = attr.elements.first.attribute("value") + hash[name] = value + end + hash +end + +def env_to_dict(env) + dict = REXML::Element.new("dict") + env.each do |k, v| + key = dict.add_element("key") + key.text = k + string = dict.add_element("string") + string.text = v + end + dict +end + +main(ARGV[0], ARGV[1]) diff --git a/nixpkgs/pkgs/servers/x11/xquartz/privileged b/nixpkgs/pkgs/servers/x11/xquartz/privileged new file mode 100755 index 000000000000..9d9c802002b2 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/privileged @@ -0,0 +1,43 @@ +#!@shell@ + +export PATH=@PATH@:$PATH +export FONTCONFIG_FILE="@FONTCONFIG_FILE@" + +# Our usage of mktemp fails with GNU, so prefer /usr/bin to hopefully +# get BSD mktemp +if [ -x /usr/bin/mktemp ] ; then + MKTEMP=/usr/bin/mktemp +else + MKTEMP=mktemp +fi + +STAT=/usr/bin/stat + +for dir in /tmp/.ICE-unix /tmp/.X11-unix /tmp/.font-unix ; do + success=0 + for attempt in 1 2 3 4 5 ; do + check=`${STAT} -f '%#p %u %g' ${dir} 2> /dev/null` + if [ "${check}" = "041777 0 0" ] ; then + success=1 + break + elif [ -n "${check}" ] ; then + saved=$(${MKTEMP} -d ${dir}-XXXXXXXX) + mv ${dir} ${saved} + echo "${dir} exists but is insecure. It has been moved into ${saved}" >&2 + fi + + # if $dir exists and is a symlink (ie protect against a race) + if ${MKTEMP} -d ${dir} >& /dev/null ; then + chmod 1777 $dir + chown root:wheel $dir + success=1 + break + fi + done + + if [ "${success}" -eq 0 ] ; then + echo "Could not successfully create ${dir}" >&2 + fi +done + +@FONT_CACHE@ -s & diff --git a/nixpkgs/pkgs/servers/x11/xquartz/startx b/nixpkgs/pkgs/servers/x11/xquartz/startx new file mode 100755 index 000000000000..b4afebce57c7 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/startx @@ -0,0 +1,232 @@ +#!@shell@ + +# vim :set ts=4 sw=4 sts=4 et : + +# +# This is just a sample implementation of a slightly less primitive +# interface than xinit. It looks for user .xinitrc and .xserverrc +# files, then system xinitrc and xserverrc files, else lets xinit choose +# its default. The system xinitrc should probably do things like check +# for .Xresources files and merge them in, start up a window manager, +# and pop a clock and several xterms. +# +# Site administrators are STRONGLY urged to write nicer versions. +# + +unset DBUS_SESSION_BUS_ADDRESS +unset SESSION_MANAGER + + +# Bourne shell does not automatically export modified environment variables +# so export the new PATH just in case the user changes the shell +export PATH=@PATH@:$PATH + +export FONTCONFIG_FILE="@FONTCONFIG_FILE@" + +userclientrc=$HOME/.xinitrc +sysclientrc=@XINITRC@ + +userserverrc=$HOME/.xserverrc +sysserverrc=@XINITRC@ +defaultclient=@DEFAULT_CLIENT@ # xterm +defaultserver=@DEFAULT_SERVER@ +defaultclientargs="" +defaultserverargs="" +defaultdisplay=":0" +clientargs="" +serverargs="" + +export X11_PREFS_DOMAIN=org.nixos.xquartz".X11" + +# Initialize defaults (this will cut down on "safe" error messages) +if ! /usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts > /dev/null 2>&1 ; then + /usr/bin/defaults write $X11_PREFS_DOMAIN cache_fonts -bool true +fi + +if ! /usr/bin/defaults read $X11_PREFS_DOMAIN no_auth > /dev/null 2>&1 ; then + /usr/bin/defaults write $X11_PREFS_DOMAIN no_auth -bool false +fi + +if ! /usr/bin/defaults read $X11_PREFS_DOMAIN nolisten_tcp > /dev/null 2>&1 ; then + /usr/bin/defaults write $X11_PREFS_DOMAIN nolisten_tcp -bool true +fi + +# First, start caching fonts +if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN cache_fonts` = x1 ] ; then + @FONT_CACHE@ & +fi + +# a race to create /tmp/.X11-unix +@PRIVILEGED_STARTX@ + +if [ x`/usr/bin/defaults read $X11_PREFS_DOMAIN no_auth` = x0 ] ; then + enable_xauth=1 +else + enable_xauth=0 +fi + +if [ x`defaults read $X11_PREFS_DOMAIN nolisten_tcp` = x1 ] ; then + defaultserverargs="$defaultserverargs -nolisten tcp" +fi + +# The second check is the real one. The first is to hopefully avoid +# needless syslog spamming. +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 + defaultserverargs="$defaultserverargs -dpi `/usr/bin/defaults read $X11_PREFS_DOMAIN dpi`" +fi + +# Automatically determine an unused $DISPLAY +d=0 +while true ; do + [ -e /tmp/.X$d-lock ] || break + d=$(($d + 1)) +done +defaultdisplay=":$d" +unset d + +whoseargs="client" +while [ x"$1" != x ]; do + case "$1" in + # '' required to prevent cpp from treating "/*" as a C comment. + /''*|\./''*) + if [ "$whoseargs" = "client" ]; then + if [ x"$client" = x ] && [ x"$clientargs" = x ]; then + client="$1" + else + clientargs="$clientargs $1" + fi + else + if [ x"$server" = x ] && [ x"$serverargs" = x ]; then + server="$1" + else + serverargs="$serverargs $1" + fi + fi + ;; + --) + whoseargs="server" + ;; + *) + if [ "$whoseargs" = "client" ]; then + clientargs="$clientargs $1" + else + # display must be the FIRST server argument + if [ x"$serverargs" = x ] && \ + expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then + display="$1" + else + serverargs="$serverargs $1" + fi + fi + ;; + esac + shift +done + +# process client arguments +if [ x"$client" = x ]; then + client=$defaultclient + + # For compatibility reasons, only use startxrc if there were no client command line arguments + if [ x"$clientargs" = x ]; then + if [ -f "$userclientrc" ]; then + client=$userclientrc + elif [ -f "$sysclientrc" ]; then + client=$sysclientrc + fi + fi +fi + +# if no client arguments, use defaults +if [ x"$clientargs" = x ]; then + clientargs=$defaultclientargs +fi + +# process server arguments +if [ x"$server" = x ]; then + server=$defaultserver + + # For compatibility reasons, only use xserverrc if there were no server command line arguments + if [ x"$serverargs" = x -a x"$display" = x ]; then + if [ -f "$userserverrc" ]; then + server=$userserverrc + elif [ -f "$sysserverrc" ]; then + server=$sysserverrc + fi + fi +fi + +# if no server arguments, use defaults +if [ x"$serverargs" = x ]; then + serverargs=$defaultserverargs +fi + +# if no display, use default +if [ x"$display" = x ]; then + display=$defaultdisplay +fi + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$XAUTHORITY" = x ]; then + XAUTHORITY=$HOME/.Xauthority + export XAUTHORITY + fi + + removelist= + + # set up default Xauth info for this machine + hostname=`/bin/hostname` + + authdisplay=${display:-:0} + + mcookie=`/usr/bin/openssl rand -hex 16` + + if test x"$mcookie" = x; then + echo "Couldn't create cookie" + exit 1 + fi + dummy=0 + + # create a file with auth information for the server. ':0' is a dummy. + xserverauthfile=$HOME/.serverauth.$$ + trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM + @XAUTH@ -q -f "$xserverauthfile" << EOF +add :$dummy . $mcookie +EOF + + xserverauthfilequoted=$(echo ${xserverauthfile} | sed "s/'/'\\\\''/g") + serverargs=${serverargs}" -auth '"${xserverauthfilequoted}"'" + + # now add the same credentials to the client authority file + # if '$displayname' already exists do not overwrite it as another + # server man need it. Add them to the '$xserverauthfile' instead. + for displayname in $authdisplay $hostname$authdisplay; do + authcookie=`@XAUTH@ list "$displayname" \ + | sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; + if [ "z${authcookie}" = "z" ] ; then + @XAUTH@ -q << EOF +add $displayname . $mcookie +EOF + removelist="$displayname $removelist" + else + dummy=$(($dummy+1)); + @XAUTH@ -q -f "$xserverauthfile" << EOF +add :$dummy . $authcookie +EOF + fi + done +fi + +eval @XINIT@ \"$client\" $clientargs -- \"$server\" $display $serverargs +retval=$? + +if [ x"$enable_xauth" = x1 ] ; then + if [ x"$removelist" != x ]; then + @XAUTH@ remove $removelist + fi + if [ x"$xserverauthfile" != x ]; then + rm -f "$xserverauthfile" + fi +fi + +exit $retval diff --git a/nixpkgs/pkgs/servers/x11/xquartz/system-fonts.nix b/nixpkgs/pkgs/servers/x11/xquartz/system-fonts.nix new file mode 100644 index 000000000000..db47f8afe015 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/system-fonts.nix @@ -0,0 +1,34 @@ +{ stdenv, xorg, fontDirs }: + +stdenv.mkDerivation { + name = "xquartz-system-fonts"; + buildInputs = [ + xorg.mkfontdir xorg.mkfontscale + ]; + buildCommand = '' + source $stdenv/setup + + for i in ${toString fontDirs} ; do + if [ -d $i/ ]; then + list="$list $i"; + fi; + done + list=$(find $list -name fonts.dir -o -name '*.ttf' -o -name '*.otf'); + fontDirs='''; + for i in $list ; do + fontDirs="$fontDirs $(dirname $i)"; + done; + mkdir -p $out/share/X11-fonts/; + find $fontDirs -type f -o -type l | while read i; do + j="''${i##*/}" + if ! test -e "$out/share/X11-fonts/''${j}"; then + ln -s "$i" "$out/share/X11-fonts/''${j}"; + fi; + done; + cd $out/share/X11-fonts/ + rm -f fonts.dir fonts.scale fonts.alias + mkfontdir + mkfontscale + cat $( find ${xorg.fontalias}/ -name fonts.alias) >fonts.alias + ''; +} diff --git a/nixpkgs/pkgs/servers/x11/xquartz/xinitrc b/nixpkgs/pkgs/servers/x11/xquartz/xinitrc new file mode 100755 index 000000000000..276aeca7c846 --- /dev/null +++ b/nixpkgs/pkgs/servers/x11/xquartz/xinitrc @@ -0,0 +1,40 @@ +#!@shell@ + +export PATH=@PATH@:$PATH + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap + +# Fix ridiculously slow key repeat. +@XSET@ r rate + +# merge in defaults and keymaps + +if [ -f "$userresources" ]; then + if [ -x /usr/bin/cpp ] ; then + @XRDB@ -merge "$userresources" + else + @XRDB@ -nocpp -merge "$userresources" + fi +fi + +if [ -f "$usermodmap" ]; then + @XMODMAP@ "$usermodmap" +fi + +fontpath="@SYSTEM_FONTS@" +[ -e "$HOME"/.fonts/fonts.dir ] && fontpath="$fontpath,$HOME/.fonts" +[ -e "$HOME"/Library/Fonts/fonts.dir ] && fontpath="$fontpath,$HOME/Library/Fonts" +[ -e /Library/Fonts/fonts.dir ] && fontpath="$fontpath,/Library/Fonts" +[ -e /System/Library/Fonts/fonts.dir ] && fontpath="$fontpath,/System/Library/Fonts" +@XSET@ fp= "$fontpath" +unset fontpath + +if [ -d "${HOME}/.xinitrc.d" ] ; then + for f in "${HOME}"/.xinitrc.d/*.sh ; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +exec @QUARTZ_WM@ |