Merge branch 'staging'
This commit is contained in:
		
						commit
						e4644a5b58
					
				@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ libogg ];
 | 
			
		||||
 | 
			
		||||
  #doCheck = true; # takes lots of time
 | 
			
		||||
 | 
			
		||||
@ -52,7 +52,7 @@ in stdenv.mkDerivation {
 | 
			
		||||
 | 
			
		||||
    RPATH=${libPaths}:$out/${appdir}
 | 
			
		||||
    echo "Updating rpaths to $RPATH in:"
 | 
			
		||||
    find "$out/${appdir}" -type f -a -perm +0100 \
 | 
			
		||||
    find "$out/${appdir}" -type f -a -perm /0100 \
 | 
			
		||||
      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -101,12 +101,12 @@ in stdenv.mkDerivation {
 | 
			
		||||
    rm "$out/${appdir}/qt.conf"
 | 
			
		||||
    rm -fr "$out/${appdir}/plugins"
 | 
			
		||||
 | 
			
		||||
    find "$out/${appdir}" -type f -a -perm +0100 \
 | 
			
		||||
    find "$out/${appdir}" -type f -a -perm /0100 \
 | 
			
		||||
      -print -exec patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} {} \;
 | 
			
		||||
 | 
			
		||||
    RPATH=${ldpath}:${gcc.cc}/lib:$out/${appdir}
 | 
			
		||||
    echo "updating rpaths to: $RPATH"
 | 
			
		||||
    find "$out/${appdir}" -type f -a -perm +0100 \
 | 
			
		||||
    find "$out/${appdir}" -type f -a -perm /0100 \
 | 
			
		||||
      -print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
 | 
			
		||||
 | 
			
		||||
    mkdir -p "$out/share/applications"
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
 | 
			
		||||
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
 | 
			
		||||
, pythonPackages, cmake, makeWrapper, libobjc
 | 
			
		||||
, pythonPackages, cmake, makeWrapper, libobjc, libiconv
 | 
			
		||||
, extraBuildInputs ? [] }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "0j2ic1c69ksf78wi0cmc4yi5348x6c92g6annsx928sayxqxfgbh";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  cmakeFlags = stdenv.lib.optional stdenv.isDarwin
 | 
			
		||||
    "-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib";
 | 
			
		||||
 | 
			
		||||
  buildInputs = 
 | 
			
		||||
    [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
 | 
			
		||||
      libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
 | 
			
		||||
 | 
			
		||||
@ -7,11 +7,11 @@
 | 
			
		||||
 | 
			
		||||
with stdenv.lib;
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "znc-1.6.0";
 | 
			
		||||
  name = "znc-1.6.1";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://znc.in/releases/${name}.tar.gz";
 | 
			
		||||
    sha256 = "df622aeae34d26193c738dff6499e56ad669ec654484e19623738d84cc80aba7";
 | 
			
		||||
    sha256 = "0h61nv5kx9k8prmhsffxhlprf7gjcq8vqhjjmqr6v3glcirkjjds";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ openssl pkgconfig ]
 | 
			
		||||
 | 
			
		||||
@ -569,7 +569,7 @@ let inherit (builtins) head tail trace; in
 | 
			
		||||
     # Interpreters that are already in the store are left untouched.
 | 
			
		||||
         echo "patching script interpreter paths"
 | 
			
		||||
         local f
 | 
			
		||||
         for f in $(find "${dir}" -xtype f -perm +0100); do
 | 
			
		||||
         for f in $(find "${dir}" -xtype f -perm /0100); do
 | 
			
		||||
             local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f")
 | 
			
		||||
             if test -n "$oldPath" -a "''${oldPath:0:''${#NIX_STORE}}" != "$NIX_STORE"; then
 | 
			
		||||
                 local newPath=$(type -P $(basename $oldPath) || true)
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@
 | 
			
		||||
, cc ? null, libc ? null, binutils ? null, coreutils ? null, shell ? stdenv.shell
 | 
			
		||||
, zlib ? null, extraPackages ? [], extraBuildCommands ? ""
 | 
			
		||||
, dyld ? null # TODO: should this be a setup-hook on dyld?
 | 
			
		||||
, isGNU ? false, isClang ? false
 | 
			
		||||
, isGNU ? false, isClang ? cc.isClang or false
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
with stdenv.lib;
 | 
			
		||||
 | 
			
		||||
@ -72,8 +72,8 @@ makeWrapper() {
 | 
			
		||||
 | 
			
		||||
    # Note: extraFlagsArray is an array containing additional flags
 | 
			
		||||
    # that may be set by --run actions.
 | 
			
		||||
    echo exec "$original" $flagsBefore '"${extraFlagsArray[@]}"' '"$@"' >> $wrapper
 | 
			
		||||
    
 | 
			
		||||
    echo exec -a '"$0"' "$original" $flagsBefore '"${extraFlagsArray[@]}"' '"$@"' >> $wrapper
 | 
			
		||||
 | 
			
		||||
    chmod +x $wrapper
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -42,6 +42,7 @@ _moveDocs() {
 | 
			
		||||
    _moveToOutput share/man "$man"
 | 
			
		||||
    _moveToOutput share/info "$info"
 | 
			
		||||
    _moveToOutput share/doc "$doc"
 | 
			
		||||
    _moveToOutput share/gtk-doc "$doc"
 | 
			
		||||
 | 
			
		||||
    # Remove empty share directory.
 | 
			
		||||
    if [ -d "$out/share" ]; then
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,7 @@ patchShebangs() {
 | 
			
		||||
    local oldInterpreterLine
 | 
			
		||||
    local newInterpreterLine
 | 
			
		||||
 | 
			
		||||
    find "$dir" -type f -perm +0100 | while read f; do
 | 
			
		||||
    find "$dir" -type f -perm /0100 | while read f; do
 | 
			
		||||
        if [ "$(head -1 "$f" | head -c +2)" != '#!' ]; then
 | 
			
		||||
            # missing shebang => not a script
 | 
			
		||||
            continue
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{ stdenv, fetchurl }:
 | 
			
		||||
 | 
			
		||||
let version = "2015e"; in
 | 
			
		||||
let version = "2015f"; in
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "tzdata-${version}";
 | 
			
		||||
@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
 | 
			
		||||
  srcs =
 | 
			
		||||
    [ (fetchurl {
 | 
			
		||||
        url = "http://www.iana.org/time-zones/repository/releases/tzdata${version}.tar.gz";
 | 
			
		||||
        sha256 = "0vxs6j1i429vxz4a1lbwjz81k236lxdggqvrlix2ga5xib9vbjgz";
 | 
			
		||||
        sha256 = "07ak8ai5skgjpj6lg74pawxg0bz998k7s2ah7jqyqhp086sq37wm";
 | 
			
		||||
      })
 | 
			
		||||
      (fetchurl {
 | 
			
		||||
        url = "http://www.iana.org/time-zones/repository/releases/tzcode${version}.tar.gz";
 | 
			
		||||
        sha256 = "185db6789kygcpcl48y1dh6m4fkgqcwqjwx7f3s5dys7b2sig8mm";
 | 
			
		||||
        sha256 = "1bl4vqw6yp9199clm9aai566bmslp42g5xglj3vl24dn5fjf158c";
 | 
			
		||||
      })
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,13 +4,15 @@
 | 
			
		||||
assert withGtk -> (gtk != null);
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation {
 | 
			
		||||
  name = "GConf-2.32.4";
 | 
			
		||||
  name = "gconf-2.32.4";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = mirror://gnome/sources/GConf/2.32/GConf-2.32.4.tar.xz;
 | 
			
		||||
    sha256 = "09ch709cb9fniwc4221xgkq0jf0x0lxs814sqig8p2dcll0llvzk";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ ORBit2 dbus_libs dbus_glib libxml2 ]
 | 
			
		||||
    # polkit requires pam, which requires shadow.h, which is not available on
 | 
			
		||||
    # darwin
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ pkgconfig libxml2 glib ];
 | 
			
		||||
 | 
			
		||||
@ -61,13 +61,10 @@ let version = "4.9.3";
 | 
			
		||||
    # Whether building a cross-compiler for GNU/Hurd.
 | 
			
		||||
    crossGNU = cross != null && cross.config == "i586-pc-gnu";
 | 
			
		||||
 | 
			
		||||
    # Builds of gfortran have failed with strange errors that we cannot reproduce
 | 
			
		||||
    # (http://hydra.nixos.org/build/23951123). Our best guess is that the build
 | 
			
		||||
    # system has bugs that are exposed by compiling with multiple threads.
 | 
			
		||||
    enableParallelBuilding = !langFortran;
 | 
			
		||||
    enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
    patches = [ ]
 | 
			
		||||
      ++ optional enableParallelBuilding ../parallel-bconfig.patch
 | 
			
		||||
      ++ optionals enableParallelBuilding [ ../parallel-bconfig.patch ./parallel-strsignal.patch ]
 | 
			
		||||
      ++ optional (cross != null) ../libstdc++-target.patch
 | 
			
		||||
      ++ optional noSysDirs ../no-sys-dirs.patch
 | 
			
		||||
      # The GNAT Makefiles did not pay attention to CFLAGS_FOR_TARGET for its
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										61
									
								
								pkgs/development/compilers/gcc/4.9/parallel-strsignal.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								pkgs/development/compilers/gcc/4.9/parallel-strsignal.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,61 @@
 | 
			
		||||
gcc/Makefile.in: fix parallel building failure
 | 
			
		||||
 | 
			
		||||
The gcc-ar.o, gcc-nm.o, gcc-ranlib.o and errors.o included
 | 
			
		||||
config.h which was a generated file. But no explicity rule
 | 
			
		||||
to clarify the dependency. There was potential building
 | 
			
		||||
failure while parallel make.
 | 
			
		||||
 | 
			
		||||
For gcc-ar.o, gcc-nm.o and gcc-ranlib.o, they were compiled from one C
 | 
			
		||||
source file gcc-ar.c, we add them to ALL_HOST_BACKEND_OBJS, so the
 | 
			
		||||
'$(ALL_HOST_OBJS) : | $(generated_files)' rule could work for these
 | 
			
		||||
objects.
 | 
			
		||||
 | 
			
		||||
For errors.o, it is part of gengtype, and the gengtype generator program
 | 
			
		||||
is special: Two versions are built. One is for the build machine, and one
 | 
			
		||||
is for the host. We refered what gengtype-parse.o did (which also is part
 | 
			
		||||
of gengtype).
 | 
			
		||||
 | 
			
		||||
[GCC #61899]
 | 
			
		||||
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61899
 | 
			
		||||
 | 
			
		||||
Upstream-Status: Send to gcc-patches@gcc.gnu.org mailing list
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
 | 
			
		||||
---
 | 
			
		||||
 gcc/Makefile.in | 7 ++++++-
 | 
			
		||||
 1 file changed, 6 insertions(+), 1 deletion(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
 | 
			
		||||
index 6475cba..56e50bb 100644
 | 
			
		||||
--- a/gcc/Makefile.in
 | 
			
		||||
+++ b/gcc/Makefile.in
 | 
			
		||||
@@ -1481,13 +1481,16 @@ OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
 | 
			
		||||
 	opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \
 | 
			
		||||
 	hash-table.o file-find.o
 | 
			
		||||
 
 | 
			
		||||
+# Objects compiled from one C source file gcc-ar.c
 | 
			
		||||
+OBJS-gcc-ar = gcc-ar.o gcc-nm.o gcc-ranlib.o
 | 
			
		||||
+
 | 
			
		||||
 # This lists all host objects for the front ends.
 | 
			
		||||
 ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
 | 
			
		||||
 
 | 
			
		||||
 ALL_HOST_BACKEND_OBJS = $(GCC_OBJS) $(OBJS) $(OBJS-libcommon) \
 | 
			
		||||
   $(OBJS-libcommon-target) @TREEBROWSER@ main.o c-family/cppspec.o \
 | 
			
		||||
   $(COLLECT2_OBJS) $(EXTRA_GCC_OBJS) $(GCOV_OBJS) $(GCOV_DUMP_OBJS) \
 | 
			
		||||
-  lto-wrapper.o
 | 
			
		||||
+  lto-wrapper.o $(OBJS-gcc-ar)
 | 
			
		||||
 
 | 
			
		||||
 # This lists all host object files, whether they are included in this
 | 
			
		||||
 # compilation or not.
 | 
			
		||||
@@ -2437,6 +2440,8 @@ gengtype-parse.o: $(CONFIG_H)
 | 
			
		||||
 CFLAGS-build/gengtype-parse.o += -DGENERATOR_FILE
 | 
			
		||||
 build/gengtype-parse.o: $(BCONFIG_H)
 | 
			
		||||
 
 | 
			
		||||
+errors.o : $(CONFIG_H)
 | 
			
		||||
+
 | 
			
		||||
 gengtype-state.o build/gengtype-state.o: gengtype-state.c $(SYSTEM_H) \
 | 
			
		||||
   gengtype.h errors.h double-int.h version.h $(HASHTAB_H) $(OBSTACK_H) \
 | 
			
		||||
   $(XREGEX_H)
 | 
			
		||||
-- 
 | 
			
		||||
1.8.1.2
 | 
			
		||||
 | 
			
		||||
@ -208,6 +208,8 @@ stdenv.mkDerivation ({
 | 
			
		||||
 | 
			
		||||
  builder = ../builder.sh;
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "info" ];
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnu/gcc/gcc-${version}/gcc-${version}.tar.bz2";
 | 
			
		||||
    sha256 = "1bccp8a106xwz3wkixn65ngxif112vn90qf95m6lzpgpnl25p0sz";
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv }:
 | 
			
		||||
{ stdenv, fetchurl, fetchpatch, ghc, perl, gmp, ncurses, libiconv, binutils, coreutils }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
 | 
			
		||||
@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
 | 
			
		||||
  # that in turn causes GHCi to abort
 | 
			
		||||
  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
 | 
			
		||||
 | 
			
		||||
  postInstall = ''
 | 
			
		||||
    # Patch scripts to include "readelf" and "cat" in $PATH.
 | 
			
		||||
    for i in "$out/bin/"*; do
 | 
			
		||||
      test ! -h $i || continue
 | 
			
		||||
      egrep --quiet '^#!' <(head -n 1 $i) || continue
 | 
			
		||||
      sed -i -e '2i export PATH="$PATH:${binutils}/bin:${coreutils}/bin"' $i
 | 
			
		||||
    done
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    homepage = "http://haskell.org/ghc";
 | 
			
		||||
    description = "The Glasgow Haskell Compiler";
 | 
			
		||||
 | 
			
		||||
@ -60,9 +60,11 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    # On Linux, use patchelf to modify the executables so that they can
 | 
			
		||||
    # find editline/gmp.
 | 
			
		||||
    stdenv.lib.optionalString stdenv.isLinux ''
 | 
			
		||||
      mkdir -p "$out/lib"
 | 
			
		||||
      ln -sv "${ncurses}/lib/libncurses.so" "$out/lib/libncurses${stdenv.lib.optionalString stdenv.is64bit "w"}.so.5"
 | 
			
		||||
      find . -type f -perm +100 \
 | 
			
		||||
          -exec patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
 | 
			
		||||
          --set-rpath "${ncurses}/lib:${gmp}/lib" {} \;
 | 
			
		||||
          --set-rpath "$out/lib:${gmp}/lib" {} \;
 | 
			
		||||
      sed -i "s|/usr/bin/perl|perl\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
 | 
			
		||||
      sed -i "s|/usr/bin/gcc|gcc\x00        |" ghc-${version}/ghc/stage2/build/tmp/ghc-stage2
 | 
			
		||||
      for prog in ld ar gcc strip ranlib; do
 | 
			
		||||
 | 
			
		||||
@ -65,6 +65,12 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
 | 
			
		||||
    sed -i '/TestRead0/areturn' src/os/os_test.go
 | 
			
		||||
    sed -i '/TestSystemRoots/areturn' src/crypto/x509/root_darwin_test.go
 | 
			
		||||
    sed -i '/TestDialDualStackLocalhost/areturn' src/net/dial_test.go
 | 
			
		||||
 | 
			
		||||
    # remove IP resolving tests, on darwin they can find fe80::1%lo while expecting ::1
 | 
			
		||||
    sed -i '/TestResolveIPAddr/areturn' src/net/ipraw_test.go
 | 
			
		||||
    sed -i '/TestResolveTCPAddr/areturn' src/net/tcp_test.go
 | 
			
		||||
    sed -i '/TestResolveUDPAddr/areturn' src/net/udp_test.go
 | 
			
		||||
 | 
			
		||||
    touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
  linkCxxAbi = stdenv.isLinux;
 | 
			
		||||
 | 
			
		||||
  setupHook = ./setup-hook.sh;
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,3 @@
 | 
			
		||||
export NIX_CFLAGS_COMPILE+=" -isystem @out@/include/c++/v1"
 | 
			
		||||
 | 
			
		||||
export NIX_CXXSTDLIB_COMPILE=" -stdlib=libc++"
 | 
			
		||||
export NIX_CXXSTDLIB_LINK=" -stdlib=libc++"
 | 
			
		||||
linkCxxAbi="@linkCxxAbi@"
 | 
			
		||||
export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
 | 
			
		||||
export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
 | 
			
		||||
 | 
			
		||||
@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
  linkCxxAbi = stdenv.isLinux;
 | 
			
		||||
 | 
			
		||||
  setupHook = ./setup-hook.sh;
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,3 @@
 | 
			
		||||
export NIX_CFLAGS_COMPILE+=" -isystem @out@/include/c++/v1"
 | 
			
		||||
 | 
			
		||||
export NIX_CXXSTDLIB_COMPILE=" -stdlib=libc++"
 | 
			
		||||
export NIX_CXXSTDLIB_LINK=" -stdlib=libc++"
 | 
			
		||||
linkCxxAbi="@linkCxxAbi@"
 | 
			
		||||
export NIX_CXXSTDLIB_COMPILE+=" -isystem @out@/include/c++/v1"
 | 
			
		||||
export NIX_CXXSTDLIB_LINK=" -stdlib=libc++${linkCxxAbi:+" -lc++abi"}"
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "1ryz1gfgrxcj806cakcblxf0bcwq8p2mw8k86fs3f5wlwayawzkn";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  # building memcpy_speed.log
 | 
			
		||||
  # ../test-driver: line 107:  4495 Segmentation fault      "$@" > $log_file 2>&1
 | 
			
		||||
  # FAIL: memcpy_speed
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,6 @@
 | 
			
		||||
{ go, govers, lib }:
 | 
			
		||||
 | 
			
		||||
{ name, buildInputs ? [], passthru ? {}
 | 
			
		||||
{ name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}
 | 
			
		||||
 | 
			
		||||
# Disabled flag
 | 
			
		||||
, disabled ? false
 | 
			
		||||
@ -16,19 +16,31 @@
 | 
			
		||||
 | 
			
		||||
, dontRenameImports ? false
 | 
			
		||||
 | 
			
		||||
# Do not enable this without good reason
 | 
			
		||||
# IE: programs coupled with the compiler
 | 
			
		||||
, allowGoReference ? false
 | 
			
		||||
 | 
			
		||||
, meta ? {}, ... } @ args':
 | 
			
		||||
 | 
			
		||||
if disabled then throw "${name} not supported for go ${go.meta.branch}" else
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  args = lib.filterAttrs (name: _: name != "extraSrcs") args';
 | 
			
		||||
 | 
			
		||||
  removeReferences = [ go ];
 | 
			
		||||
 | 
			
		||||
  removeExpr = refs: lib.flip lib.concatMapStrings refs (ref: ''
 | 
			
		||||
    | sed "s,${ref},$(echo "${ref}" | sed "s,$NIX_STORE/[^-]*,$NIX_STORE/eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee,"),g" \
 | 
			
		||||
  '');
 | 
			
		||||
in
 | 
			
		||||
 | 
			
		||||
go.stdenv.mkDerivation (
 | 
			
		||||
  (builtins.removeAttrs args [ "goPackageAliases" "disabled" ]) // {
 | 
			
		||||
 | 
			
		||||
  name = "go${go.meta.branch}-${name}";
 | 
			
		||||
  buildInputs = [ go ] ++ buildInputs ++ (lib.optional (!dontRenameImports) govers) ;
 | 
			
		||||
  nativeBuildInputs = [ go ]
 | 
			
		||||
    ++ (lib.optional (!dontRenameImports) govers) ++ nativeBuildInputs;
 | 
			
		||||
  buildInputs = [ go ] ++ buildInputs;
 | 
			
		||||
 | 
			
		||||
  configurePhase = args.configurePhase or ''
 | 
			
		||||
    runHook preConfigure
 | 
			
		||||
@ -65,13 +77,16 @@ go.stdenv.mkDerivation (
 | 
			
		||||
 | 
			
		||||
    runHook renameImports
 | 
			
		||||
 | 
			
		||||
    PIDS=()
 | 
			
		||||
    if [ -n "$subPackages" ] ; then
 | 
			
		||||
        for p in $subPackages ; do
 | 
			
		||||
            go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p
 | 
			
		||||
            go install $buildFlags "''${buildFlagsArray[@]}" -p $NIX_BUILD_CORES -v $goPackagePath/$p &
 | 
			
		||||
            PIDS+=("$!")
 | 
			
		||||
        done
 | 
			
		||||
    else
 | 
			
		||||
        (cd go/src
 | 
			
		||||
        find $goPackagePath -type f -name \*.go -exec dirname {} \; | sort | uniq | while read d; do
 | 
			
		||||
        pushd go/src
 | 
			
		||||
        while read d; do
 | 
			
		||||
          {
 | 
			
		||||
            echo "$d" | grep -q "/_" && continue
 | 
			
		||||
            [ -n "$excludedPackages" ] && echo "$d" | grep -q "$excludedPackages" && continue
 | 
			
		||||
            local OUT
 | 
			
		||||
@ -84,26 +99,43 @@ go.stdenv.mkDerivation (
 | 
			
		||||
            if [ -n "$OUT" ]; then
 | 
			
		||||
              echo "$OUT" >&2
 | 
			
		||||
            fi
 | 
			
		||||
        done)
 | 
			
		||||
          } &
 | 
			
		||||
          PIDS+=("$!")
 | 
			
		||||
        done < <(find $goPackagePath -type f -name \*.go -exec dirname {} \; | sort | uniq)
 | 
			
		||||
        popd
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Exit on error from the parallel process
 | 
			
		||||
    for PID in "''${PIDS[@]}"; do
 | 
			
		||||
        wait $PID || exit 1
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    runHook postBuild
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  checkPhase = args.checkPhase or ''
 | 
			
		||||
    runHook preCheck
 | 
			
		||||
 | 
			
		||||
    PIDS=()
 | 
			
		||||
    if [ -n "$subPackages" ] ; then
 | 
			
		||||
        for p in $subPackages ; do
 | 
			
		||||
            go test -p $NIX_BUILD_CORES -v $goPackagePath/$p
 | 
			
		||||
            go test -p $NIX_BUILD_CORES -v $goPackagePath/$p &
 | 
			
		||||
        done
 | 
			
		||||
        PIDS+=("$!")
 | 
			
		||||
    else
 | 
			
		||||
        (cd go/src
 | 
			
		||||
        find $goPackagePath -type f -name \*_test.go -exec dirname {} \; | sort | uniq | while read d; do
 | 
			
		||||
        pushd go/src
 | 
			
		||||
        while read d; do
 | 
			
		||||
            go test -p $NIX_BUILD_CORES -v $d
 | 
			
		||||
        done)
 | 
			
		||||
        done < <(find $goPackagePath -type f -name \*_test.go -exec dirname {} \; | sort | uniq)
 | 
			
		||||
        popd
 | 
			
		||||
        PIDS+=("$!")
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    # Exit on error from the parallel process
 | 
			
		||||
    for PID in "''${PIDS[@]}"; do
 | 
			
		||||
        wait $PID || exit 1
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    runHook postCheck
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
@ -113,20 +145,29 @@ go.stdenv.mkDerivation (
 | 
			
		||||
    mkdir -p $out
 | 
			
		||||
 | 
			
		||||
    if [ -z "$dontInstallSrc" ]; then
 | 
			
		||||
        (cd "$NIX_BUILD_TOP/go"
 | 
			
		||||
        find . -type f | while read f; do
 | 
			
		||||
        pushd "$NIX_BUILD_TOP/go"
 | 
			
		||||
        while read f; do
 | 
			
		||||
          echo "$f" | grep -q '^./\(src\|pkg/[^/]*\)/${goPackagePath}' || continue
 | 
			
		||||
          mkdir -p "$(dirname "$out/share/go/$f")"
 | 
			
		||||
          cp $NIX_BUILD_TOP/go/$f $out/share/go/$f
 | 
			
		||||
        done)
 | 
			
		||||
          cp "$NIX_BUILD_TOP/go/$f" "$out/share/go/$f"
 | 
			
		||||
        done < <(find . -type f)
 | 
			
		||||
        popd
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    dir="$NIX_BUILD_TOP/go/bin"
 | 
			
		||||
    [ -e "$dir" ] && cp -r $dir $out
 | 
			
		||||
    while read file; do
 | 
			
		||||
      cat $file ${removeExpr removeReferences} > $file.tmp
 | 
			
		||||
      mv $file.tmp $file
 | 
			
		||||
      chmod +x $file
 | 
			
		||||
    done < <(find $out/bin -type f 2>/dev/null)
 | 
			
		||||
 | 
			
		||||
    runHook postInstall
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  disallowedReferences = lib.optional (!allowGoReference) go
 | 
			
		||||
    ++ lib.optional (!dontRenameImports) govers;
 | 
			
		||||
 | 
			
		||||
  passthru = passthru // lib.optionalAttrs (goPackageAliases != []) { inherit goPackageAliases; };
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
 | 
			
		||||
@ -111,6 +111,10 @@ self: super: {
 | 
			
		||||
  # Test suite has stricter version bounds
 | 
			
		||||
  retry = dontCheck super.retry;
 | 
			
		||||
 | 
			
		||||
  # test/System/Posix/Types/OrphansSpec.hs:19:13:
 | 
			
		||||
  #    Not in scope: type constructor or class ‘Int32’
 | 
			
		||||
  base-orphans = dontCheck super.base-orphans;
 | 
			
		||||
 | 
			
		||||
  # Test suite fails with time >= 1.5
 | 
			
		||||
  http-date = dontCheck super.http-date;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,7 @@
 | 
			
		||||
, doHoogle ? true
 | 
			
		||||
, editedCabalFile ? null
 | 
			
		||||
, enableLibraryProfiling ? false
 | 
			
		||||
, enableExecutableProfiling ? false
 | 
			
		||||
, enableSharedExecutables ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
 | 
			
		||||
, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
 | 
			
		||||
, enableSplitObjs ? !stdenv.isDarwin # http://hackage.haskell.org/trac/ghc/ticket/4013
 | 
			
		||||
@ -86,6 +87,7 @@ let
 | 
			
		||||
    (optionalString useCpphs "--with-cpphs=${cpphs}/bin/cpphs --ghc-options=-cpp --ghc-options=-pgmP${cpphs}/bin/cpphs --ghc-options=-optP--cpp")
 | 
			
		||||
    (enableFeature enableSplitObjs "split-objs")
 | 
			
		||||
    (enableFeature enableLibraryProfiling "library-profiling")
 | 
			
		||||
    (enableFeature enableExecutableProfiling "executable-profiling")
 | 
			
		||||
    (enableFeature enableSharedLibraries "shared")
 | 
			
		||||
    (optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
 | 
			
		||||
    (optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "17cvplgpxbm1hshxlkra2fldn4da1iap1lsnb04hdm8ply93k95i";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "man" ];
 | 
			
		||||
 | 
			
		||||
  patches =
 | 
			
		||||
    [ # Do not look in /usr etc. for dependencies.
 | 
			
		||||
      ./no-sys-dirs.patch
 | 
			
		||||
 | 
			
		||||
@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "0g5bl8sdpzx9gx2g5jq3py4bj07z2ylk7s1qn0fvsss2yl3hhs8c";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "man" ];
 | 
			
		||||
 | 
			
		||||
  patches =
 | 
			
		||||
    [ # Do not look in /usr etc. for dependencies.
 | 
			
		||||
      ./no-sys-dirs.patch
 | 
			
		||||
 | 
			
		||||
@ -5,12 +5,12 @@ buildRubyGem {
 | 
			
		||||
  src = fetchgit {
 | 
			
		||||
    url = "https://github.com/bundler/bundler.git";
 | 
			
		||||
    rev = "a2343c9eabf5403d8ffcbca4dea33d18a60fc157";
 | 
			
		||||
    sha256 = "1vzm21fc37w89psxfk2fzi64zyb3gyhzr9smd6jk2r2kvgp6d38b";
 | 
			
		||||
    sha256 = "1p7kzhmicfljy9n7nq3qh6lvrsckiq76ddypf6s55gfh1l98z4k9";
 | 
			
		||||
    leaveDotGit = true;
 | 
			
		||||
  };
 | 
			
		||||
  dontPatchShebangs = true;
 | 
			
		||||
  postInstall = ''
 | 
			
		||||
    find $out -type f -perm +0100 | while read f; do
 | 
			
		||||
    find $out -type f -perm /0100 | while read f; do
 | 
			
		||||
      substituteInPlace $f \
 | 
			
		||||
         --replace "/usr/bin/env" "${coreutils}/bin/env"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@ buildRubyGem {
 | 
			
		||||
  sha256 = "1zkxw6699bbmsamrij2lirscbh0j58p1p3bql22jsxvx34j6w5nc";
 | 
			
		||||
  dontPatchShebangs = true;
 | 
			
		||||
  postInstall = ''
 | 
			
		||||
    find $out -type f -perm +0100 | while read f; do
 | 
			
		||||
    find $out -type f -perm /0100 | while read f; do
 | 
			
		||||
      substituteInPlace $f \
 | 
			
		||||
         --replace "/usr/bin/env" "${coreutils}/bin/env"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
@ -1,15 +1,17 @@
 | 
			
		||||
{ stdenv, fetchurl, cmake, boost, gmp, mpfr }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  version = "4.5";
 | 
			
		||||
  version = "4.6.1";
 | 
			
		||||
 | 
			
		||||
  name = "cgal-${version}";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "https://gforge.inria.fr/frs/download.php/34139/CGAL-${version}.tar.xz";
 | 
			
		||||
    sha256 = "00shds5yph4s09lqdrb6n60wnw9kpiwa25ghg9mbsgq3fnr8p7kr";
 | 
			
		||||
    url = "https://github.com/CGAL/releases/archive/CGAL-${version}.tar.gz";
 | 
			
		||||
    sha256 = "05vk4l62d7g6cz19q36h1an5krxdbgq1fbs5hi0x2l7blsja1z6g";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  # note: optional component libCGAL_ImageIO would need zlib and opengl;
 | 
			
		||||
  #   there are also libCGAL_Qt{3,4} omitted ATM
 | 
			
		||||
  buildInputs = [ cmake boost gmp mpfr ];
 | 
			
		||||
 | 
			
		||||
  doCheck = false;
 | 
			
		||||
 | 
			
		||||
@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "man" ];
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ pkgconfig ];
 | 
			
		||||
 | 
			
		||||
  # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
 | 
			
		||||
 | 
			
		||||
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "1l3l39mw23zyjlcqidvkyqlr4gwbhplzw2hcv3qvn6p8ikxpf2qw";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  buildInputs = [
 | 
			
		||||
    python pkgconfig popt  intltool dbus_glib
 | 
			
		||||
    libX11 xextproto libSM libICE libXtst libXi
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ pkgconfig gettext ];
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ expat libiconv ];
 | 
			
		||||
 | 
			
		||||
@ -1,24 +1,20 @@
 | 
			
		||||
{ stdenv, fetchurl, autoconf, autogen, automake, gettext, libX11
 | 
			
		||||
, mesa, pkgconfig, python, utilmacros
 | 
			
		||||
{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, utilmacros, python
 | 
			
		||||
, mesa, libX11
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "epoxy-${version}";
 | 
			
		||||
  version = "1.2";
 | 
			
		||||
  version = "1.3.1";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "https://github.com/anholt/libepoxy/archive/v${version}.tar.gz";
 | 
			
		||||
    sha256 = "1xp8g6b7xlbym2rj4vkbl6xpb7ijq7glpv656mc7k9b01x22ihs2";
 | 
			
		||||
  src = fetchFromGitHub {
 | 
			
		||||
    owner = "anholt";
 | 
			
		||||
    repo = "libepoxy";
 | 
			
		||||
    rev = "v${version}";
 | 
			
		||||
    sha256 = "0dfkd4xbp7v5gwsf6qwaraz54yzizf3lj5ymyc0msjn0adq3j5yl";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = [
 | 
			
		||||
    autoconf autogen automake gettext libX11 mesa pkgconfig python
 | 
			
		||||
    utilmacros
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  configureScript = ''
 | 
			
		||||
    ./autogen.sh --prefix="$out"
 | 
			
		||||
  '';
 | 
			
		||||
  nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ];
 | 
			
		||||
  buildInputs = [ mesa libX11 ];
 | 
			
		||||
 | 
			
		||||
  meta = with stdenv.lib; {
 | 
			
		||||
    description = "A library for handling OpenGL function pointer management";
 | 
			
		||||
 | 
			
		||||
@ -253,7 +253,7 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    # On some ARM platforms --enable-thumb
 | 
			
		||||
    "--enable-shared --disable-static"
 | 
			
		||||
    (enableFeature true "pic")
 | 
			
		||||
    (if (stdenv.cc.cc.isClang or false) then "--cc=clang" else null)
 | 
			
		||||
    (if stdenv.cc.isClang then "--cc=clang" else null)
 | 
			
		||||
    (enableFeature smallBuild "small")
 | 
			
		||||
    (enableFeature runtimeCpuDetectBuild "runtime-cpudetect")
 | 
			
		||||
    (enableFeature grayBuild "gray")
 | 
			
		||||
 | 
			
		||||
@ -1,43 +0,0 @@
 | 
			
		||||
From 9df489c765921d8d3ff96a13c01592d9209431bb Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Florian Friesdorf <flo@chaoflow.net>
 | 
			
		||||
Date: Wed, 4 Jan 2012 23:12:44 +0100
 | 
			
		||||
Subject: [PATCH] remove typedefs now living in mesa
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 progs/demos/smooth_opengl3/smooth_opengl3.c |   20 --------------------
 | 
			
		||||
 1 files changed, 0 insertions(+), 20 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/progs/demos/smooth_opengl3/smooth_opengl3.c b/progs/demos/smooth_opengl3/smooth_opengl3.c
 | 
			
		||||
index abbdfb5..1172615 100755
 | 
			
		||||
--- a/progs/demos/smooth_opengl3/smooth_opengl3.c
 | 
			
		||||
+++ b/progs/demos/smooth_opengl3/smooth_opengl3.c
 | 
			
		||||
@@ -98,26 +98,6 @@ typedef char ourGLchar;
 | 
			
		||||
 #define APIENTRY
 | 
			
		||||
 #endif
 | 
			
		||||
 
 | 
			
		||||
-typedef void (APIENTRY *PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLBUFFERDATAPROC) (GLenum target, ourGLsizeiptr size, const GLvoid *data, GLenum usage);
 | 
			
		||||
-typedef GLuint (APIENTRY *PFNGLCREATESHADERPROC) (GLenum type);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const ourGLchar **string, const GLint *length);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLCOMPILESHADERPROC) (GLuint shader);
 | 
			
		||||
-typedef GLuint (APIENTRY *PFNGLCREATEPROGRAMPROC) (void);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLLINKPROGRAMPROC) (GLuint program);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLUSEPROGRAMPROC) (GLuint program);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, ourGLchar *infoLog);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLGETPROGRAMIVPROC) (GLenum target, GLenum pname, GLint *params);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, ourGLchar *infoLog);
 | 
			
		||||
-typedef GLint (APIENTRY *PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const ourGLchar *name);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid *pointer);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
 | 
			
		||||
-typedef GLint (APIENTRY *PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const ourGLchar *name);
 | 
			
		||||
-typedef void (APIENTRY *PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value);
 | 
			
		||||
-
 | 
			
		||||
 PFNGLGENBUFFERSPROC gl_GenBuffers;
 | 
			
		||||
 PFNGLBINDBUFFERPROC gl_BindBuffer;
 | 
			
		||||
 PFNGLBUFFERDATAPROC gl_BufferData;
 | 
			
		||||
-- 
 | 
			
		||||
1.7.8
 | 
			
		||||
 | 
			
		||||
@ -1,27 +1,29 @@
 | 
			
		||||
{ stdenv, lib, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11, autoreconfHook }:
 | 
			
		||||
{ stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11, cmake }:
 | 
			
		||||
 | 
			
		||||
let version = "2.8.1";
 | 
			
		||||
let version = "3.0.0";
 | 
			
		||||
in stdenv.mkDerivation {
 | 
			
		||||
  name = "freeglut-${version}";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://sourceforge/freeglut/freeglut-${version}.tar.gz";
 | 
			
		||||
    sha256 = "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x";
 | 
			
		||||
    sha256 = "18knkyczzwbmyg8hr4zh8a1i5ga01np2jzd1rwmsh7mh2n2vwhra";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = [
 | 
			
		||||
    libXi libXrandr libXxf86vm mesa x11
 | 
			
		||||
  ] ++ lib.optionals stdenv.isDarwin [
 | 
			
		||||
    autoreconfHook
 | 
			
		||||
  ];
 | 
			
		||||
  buildInputs = [ libXi libXrandr libXxf86vm mesa x11 cmake ];
 | 
			
		||||
 | 
			
		||||
  postPatch = lib.optionalString stdenv.isDarwin ''
 | 
			
		||||
    substituteInPlace Makefile.am --replace \
 | 
			
		||||
      "SUBDIRS = src include progs doc" \
 | 
			
		||||
      "SUBDIRS = src include doc"
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  configureFlags = [ "--enable-warnings" ];
 | 
			
		||||
 | 
			
		||||
  # patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ];
 | 
			
		||||
  meta = with stdenv.lib; {
 | 
			
		||||
    description = "Create and manage windows containing OpenGL contexts";
 | 
			
		||||
    longDescription = ''
 | 
			
		||||
      FreeGLUT is an open source alternative to the OpenGL Utility Toolkit
 | 
			
		||||
      (GLUT) library. GLUT (and hence FreeGLUT) allows the user to create and
 | 
			
		||||
      manage windows containing OpenGL contexts on a wide range of platforms
 | 
			
		||||
      and also read the mouse, keyboard and joystick functions. FreeGLUT is
 | 
			
		||||
      intended to be a full replacement for GLUT, and has only a few
 | 
			
		||||
      differences.
 | 
			
		||||
    '';
 | 
			
		||||
    homepage = http://freeglut.sourceforge.net/;
 | 
			
		||||
    license = licenses.mit;
 | 
			
		||||
    platforms = platforms.all;
 | 
			
		||||
    maintainers = [ maintainers.bjornfor ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -3,14 +3,14 @@
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  ver_maj = "2.31";
 | 
			
		||||
  ver_min = "5";
 | 
			
		||||
  ver_min = "6";
 | 
			
		||||
in
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "gdk-pixbuf-${ver_maj}.${ver_min}";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnome/sources/gdk-pixbuf/${ver_maj}/${name}.tar.xz";
 | 
			
		||||
    sha256 = "19ppbycbr87rai93vf2ff8k3ksjqq64s8qysq0mfy9fdjw2ffxha";
 | 
			
		||||
    sha256 = "062x2gqd7p6yxhxlib1ha4l3gk9ihcj080hrwwv9vmlmybb064hi";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  setupHook = ./setup-hook.sh;
 | 
			
		||||
@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
 | 
			
		||||
    ;
 | 
			
		||||
 | 
			
		||||
  # Seems to randomly fail sometimes with a bus error. FIXME
 | 
			
		||||
  doCheck = !stdenv.isDarwin;
 | 
			
		||||
  # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
 | 
			
		||||
  doCheck = false;
 | 
			
		||||
 | 
			
		||||
  postInstall = "rm -rf $out/share/gtk-doc";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,53 +0,0 @@
 | 
			
		||||
{ stdenv, fetchurl, libiconv }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "gettext-0.17";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnu/gettext/${name}.tar.gz";
 | 
			
		||||
    sha256 = "1fipjpaxxwifdw6cbr7mkxp1yvy643i38nhlh7124bqnisxki5i0";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  configureFlags = "--disable-csharp";
 | 
			
		||||
 | 
			
		||||
  # On cross building, gettext supposes that the wchar.h from libc
 | 
			
		||||
  # does not fulfill gettext needs, so it tries to work with its
 | 
			
		||||
  # own wchar.h file, which does not cope well with the system's
 | 
			
		||||
  # wchar.h and stddef.h (gcc-4.3 - glibc-2.9)
 | 
			
		||||
  preConfigure = ''
 | 
			
		||||
    if test -n "$crossConfig"; then
 | 
			
		||||
      echo gl_cv_func_wcwidth_works=yes > cachefile
 | 
			
		||||
      configureFlags="$configureFlags --cache-file=`pwd`/cachefile"
 | 
			
		||||
    fi
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  buildInputs = stdenv.lib.optional (!stdenv.isLinux) libiconv;
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    description = "GNU gettext, a well integrated set of translation tools and documentation";
 | 
			
		||||
 | 
			
		||||
    longDescription = ''
 | 
			
		||||
      Usually, programs are written and documented in English, and use
 | 
			
		||||
      English at execution time for interacting with users.  Using a common
 | 
			
		||||
      language is quite handy for communication between developers,
 | 
			
		||||
      maintainers and users from all countries.  On the other hand, most
 | 
			
		||||
      people are less comfortable with English than with their own native
 | 
			
		||||
      language, and would rather be using their mother tongue for day to
 | 
			
		||||
      day's work, as far as possible.  Many would simply love seeing their
 | 
			
		||||
      computer screen showing a lot less of English, and far more of their
 | 
			
		||||
      own language.
 | 
			
		||||
 | 
			
		||||
      GNU `gettext' is an important step for the GNU Translation Project, as
 | 
			
		||||
      it is an asset on which we may build many other steps. This package
 | 
			
		||||
      offers to programmers, translators, and even users, a well integrated
 | 
			
		||||
      set of tools and documentation. Specifically, the GNU `gettext'
 | 
			
		||||
      utilities are a set of tools that provides a framework to help other
 | 
			
		||||
      GNU packages produce multi-lingual messages.
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
    homepage = http://www.gnu.org/software/gettext/;
 | 
			
		||||
 | 
			
		||||
    maintainers = [ ];
 | 
			
		||||
    branch = "0.17";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
{ stdenv, fetchurl, gettext }:
 | 
			
		||||
 | 
			
		||||
stdenv.lib.overrideDerivation gettext (attrs: rec {
 | 
			
		||||
  name = "gettext-0.18.2";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnu/gettext/${name}.tar.gz";
 | 
			
		||||
    sha256 = "516a6370b3b3f46e2fc5a5e222ff5ecd76f3089bc956a7587a6e4f89de17714c";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
})
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation (rec {
 | 
			
		||||
    sha256 = "0cbp498ckjwj7qr8b9pmkry8hkhldgkvg5yix8hi9c8z1hxxb651";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
 | 
			
		||||
 | 
			
		||||
  configureFlags = [ "--disable-csharp" "--with-xz" ]
 | 
			
		||||
 | 
			
		||||
@ -56,6 +56,11 @@ stdenv.mkDerivation ({
 | 
			
		||||
         "/bin:/usr/bin", which is inappropriate on NixOS machines. This
 | 
			
		||||
         patch extends the search path by "/run/current-system/sw/bin". */
 | 
			
		||||
      ./fix_path_attribute_in_getconf.patch
 | 
			
		||||
 | 
			
		||||
      ./security-4a28f4d5.patch
 | 
			
		||||
      ./security-bdf1ff05.patch
 | 
			
		||||
      ./cve-2014-8121.patch
 | 
			
		||||
      ./cve-2015-1781.patch
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  postPatch =
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										230
									
								
								pkgs/development/libraries/glibc/cve-2014-8121.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										230
									
								
								pkgs/development/libraries/glibc/cve-2014-8121.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,230 @@
 | 
			
		||||
From 03d2730b44cc2236318fd978afa2651753666c55 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Florian Weimer <fweimer@redhat.com>
 | 
			
		||||
Date: Wed, 29 Apr 2015 14:41:25 +0200
 | 
			
		||||
Subject: [PATCH] CVE-2014-8121: Do not close NSS files database during
 | 
			
		||||
 iteration [BZ #18007]
 | 
			
		||||
MIME-Version: 1.0
 | 
			
		||||
Content-Type: text/plain; charset=utf8
 | 
			
		||||
Content-Transfer-Encoding: 8bit
 | 
			
		||||
 | 
			
		||||
Robin Hack discovered Samba would enter an infinite loop processing
 | 
			
		||||
certain quota-related requests.  We eventually tracked this down to a
 | 
			
		||||
glibc issue.
 | 
			
		||||
 | 
			
		||||
Running a (simplified) test case under strace shows that /etc/passwd
 | 
			
		||||
is continuously opened and closed:
 | 
			
		||||
 | 
			
		||||
â¦
 | 
			
		||||
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
 | 
			
		||||
lseek(3, 0, SEEK_CUR)                   = 0
 | 
			
		||||
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2717
 | 
			
		||||
lseek(3, 2717, SEEK_SET)                = 2717
 | 
			
		||||
close(3)                                = 0
 | 
			
		||||
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
 | 
			
		||||
lseek(3, 0, SEEK_CUR)                   = 0
 | 
			
		||||
lseek(3, 0, SEEK_SET)                   = 0
 | 
			
		||||
read(3, "root:x:0:0:root:/root:/bin/bash\n"..., 4096) = 2717
 | 
			
		||||
lseek(3, 2717, SEEK_SET)                = 2717
 | 
			
		||||
close(3)                                = 0
 | 
			
		||||
open("/etc/passwd", O_RDONLY|O_CLOEXEC) = 3
 | 
			
		||||
lseek(3, 0, SEEK_CUR)                   = 0
 | 
			
		||||
â¦
 | 
			
		||||
 | 
			
		||||
The lookup function implementation in
 | 
			
		||||
nss/nss_files/files-XXX.c:DB_LOOKUP has code to prevent that.  It is
 | 
			
		||||
supposed skip closing the input file if it was already open.
 | 
			
		||||
 | 
			
		||||
  /* Reset file pointer to beginning or open file.  */			      \
 | 
			
		||||
  status = internal_setent (keep_stream);				      \
 | 
			
		||||
									      \
 | 
			
		||||
  if (status == NSS_STATUS_SUCCESS)					      \
 | 
			
		||||
    {									      \
 | 
			
		||||
      /* Tell getent function that we have repositioned the file pointer.  */ \
 | 
			
		||||
      last_use = getby;							      \
 | 
			
		||||
									      \
 | 
			
		||||
      while ((status = internal_getent (result, buffer, buflen, errnop	      \
 | 
			
		||||
					H_ERRNO_ARG EXTRA_ARGS_VALUE))	      \
 | 
			
		||||
	     == NSS_STATUS_SUCCESS)					      \
 | 
			
		||||
	{ break_if_match }						      \
 | 
			
		||||
									      \
 | 
			
		||||
      if (! keep_stream)						      \
 | 
			
		||||
	internal_endent ();						      \
 | 
			
		||||
    }									      \
 | 
			
		||||
 | 
			
		||||
keep_stream is initialized from the stayopen flag in internal_setent.
 | 
			
		||||
internal_setent is called from the set*ent implementation as:
 | 
			
		||||
 | 
			
		||||
  status = internal_setent (stayopen);
 | 
			
		||||
 | 
			
		||||
However, for non-host database, this flag is always 0, per the
 | 
			
		||||
STAYOPEN magic in nss/getXXent_r.c.
 | 
			
		||||
 | 
			
		||||
Thus, the fix is this:
 | 
			
		||||
 | 
			
		||||
-  status = internal_setent (stayopen);
 | 
			
		||||
+  status = internal_setent (1);
 | 
			
		||||
 | 
			
		||||
This is not a behavioral change even for the hosts database (where the
 | 
			
		||||
application can specify the stayopen flag) because with a call to
 | 
			
		||||
sethostent(0), the file handle is still not closed in the
 | 
			
		||||
implementation of gethostent.
 | 
			
		||||
---
 | 
			
		||||
 ChangeLog                 |   8 ++++
 | 
			
		||||
 NEWS                      |  12 +++--
 | 
			
		||||
 nss/Makefile              |   2 +-
 | 
			
		||||
 nss/nss_files/files-XXX.c |   2 +-
 | 
			
		||||
 nss/tst-nss-getpwent.c    | 118 ++++++++++++++++++++++++++++++++++++++++++++++
 | 
			
		||||
 5 files changed, 136 insertions(+), 6 deletions(-)
 | 
			
		||||
 create mode 100644 nss/tst-nss-getpwent.c
 | 
			
		||||
 | 
			
		||||
diff --git a/nss/Makefile b/nss/Makefile
 | 
			
		||||
index d75dad2..65ab7b5 100644
 | 
			
		||||
--- a/nss/Makefile
 | 
			
		||||
+++ b/nss/Makefile
 | 
			
		||||
@@ -47,7 +47,7 @@ install-bin             := getent makedb
 | 
			
		||||
 makedb-modules = xmalloc hash-string
 | 
			
		||||
 extra-objs		+= $(makedb-modules:=.o)
 | 
			
		||||
 
 | 
			
		||||
-tests			= test-netdb tst-nss-test1 test-digits-dots
 | 
			
		||||
+tests			= test-netdb tst-nss-test1 test-digits-dots tst-nss-getpwent
 | 
			
		||||
 xtests			= bug-erange
 | 
			
		||||
 
 | 
			
		||||
 # Specify rules for the nss_* modules.  We have some services.
 | 
			
		||||
diff --git a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c
 | 
			
		||||
index a7a45e5..a7ce5ea 100644
 | 
			
		||||
--- a/nss/nss_files/files-XXX.c
 | 
			
		||||
+++ b/nss/nss_files/files-XXX.c
 | 
			
		||||
@@ -134,7 +134,7 @@ CONCAT(_nss_files_set,ENTNAME) (int stayopen)
 | 
			
		||||
 
 | 
			
		||||
   __libc_lock_lock (lock);
 | 
			
		||||
 
 | 
			
		||||
-  status = internal_setent (stayopen);
 | 
			
		||||
+  status = internal_setent (1);
 | 
			
		||||
 
 | 
			
		||||
   if (status == NSS_STATUS_SUCCESS && fgetpos (stream, &position) < 0)
 | 
			
		||||
     {
 | 
			
		||||
diff --git a/nss/tst-nss-getpwent.c b/nss/tst-nss-getpwent.c
 | 
			
		||||
new file mode 100644
 | 
			
		||||
index 0000000..f2e8abc
 | 
			
		||||
--- /dev/null
 | 
			
		||||
+++ b/nss/tst-nss-getpwent.c
 | 
			
		||||
@@ -0,0 +1,118 @@
 | 
			
		||||
+/* Copyright (C) 2015 Free Software Foundation, Inc.
 | 
			
		||||
+   This file is part of the GNU C Library.
 | 
			
		||||
+
 | 
			
		||||
+   The GNU C Library is free software; you can redistribute it and/or
 | 
			
		||||
+   modify it under the terms of the GNU Lesser General Public
 | 
			
		||||
+   License as published by the Free Software Foundation; either
 | 
			
		||||
+   version 2.1 of the License, or (at your option) any later version.
 | 
			
		||||
+
 | 
			
		||||
+   The GNU C Library is distributed in the hope that it will be useful,
 | 
			
		||||
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 | 
			
		||||
+   Lesser General Public License for more details.
 | 
			
		||||
+
 | 
			
		||||
+   You should have received a copy of the GNU Lesser General Public
 | 
			
		||||
+   License along with the GNU C Library; if not, see
 | 
			
		||||
+   <http://www.gnu.org/licenses/>.  */
 | 
			
		||||
+
 | 
			
		||||
+#include <pwd.h>
 | 
			
		||||
+#include <stdbool.h>
 | 
			
		||||
+#include <stdio.h>
 | 
			
		||||
+#include <stdlib.h>
 | 
			
		||||
+#include <string.h>
 | 
			
		||||
+
 | 
			
		||||
+int
 | 
			
		||||
+do_test (void)
 | 
			
		||||
+{
 | 
			
		||||
+  /* Count the number of entries in the password database, and fetch
 | 
			
		||||
+     data from the first and last entries.  */
 | 
			
		||||
+  size_t count = 0;
 | 
			
		||||
+  struct passwd * pw;
 | 
			
		||||
+  char *first_name = NULL;
 | 
			
		||||
+  uid_t first_uid = 0;
 | 
			
		||||
+  char *last_name = NULL;
 | 
			
		||||
+  uid_t last_uid = 0;
 | 
			
		||||
+  setpwent ();
 | 
			
		||||
+  while ((pw  = getpwent ()) != NULL)
 | 
			
		||||
+    {
 | 
			
		||||
+      if (first_name == NULL)
 | 
			
		||||
+	{
 | 
			
		||||
+	  first_name = strdup (pw->pw_name);
 | 
			
		||||
+	  if (first_name == NULL)
 | 
			
		||||
+	    {
 | 
			
		||||
+	      printf ("strdup: %m\n");
 | 
			
		||||
+	      return 1;
 | 
			
		||||
+	    }
 | 
			
		||||
+	  first_uid = pw->pw_uid;
 | 
			
		||||
+	}
 | 
			
		||||
+
 | 
			
		||||
+      free (last_name);
 | 
			
		||||
+      last_name = strdup (pw->pw_name);
 | 
			
		||||
+      if (last_name == NULL)
 | 
			
		||||
+	{
 | 
			
		||||
+	  printf ("strdup: %m\n");
 | 
			
		||||
+	  return 1;
 | 
			
		||||
+	}
 | 
			
		||||
+      last_uid = pw->pw_uid;
 | 
			
		||||
+      ++count;
 | 
			
		||||
+    }
 | 
			
		||||
+  endpwent ();
 | 
			
		||||
+
 | 
			
		||||
+  if (count == 0)
 | 
			
		||||
+    {
 | 
			
		||||
+      printf ("No entries in the password database.\n");
 | 
			
		||||
+      return 0;
 | 
			
		||||
+    }
 | 
			
		||||
+
 | 
			
		||||
+  /* Try again, this time interleaving with name-based and UID-based
 | 
			
		||||
+     lookup operations.  The counts do not match if the interleaved
 | 
			
		||||
+     lookups affected the enumeration.  */
 | 
			
		||||
+  size_t new_count = 0;
 | 
			
		||||
+  setpwent ();
 | 
			
		||||
+  while ((pw  = getpwent ()) != NULL)
 | 
			
		||||
+    {
 | 
			
		||||
+      if (new_count == count)
 | 
			
		||||
+	{
 | 
			
		||||
+	  printf ("Additional entry in the password database.\n");
 | 
			
		||||
+	  return 1;
 | 
			
		||||
+	}
 | 
			
		||||
+      ++new_count;
 | 
			
		||||
+      struct passwd *pw2 = getpwnam (first_name);
 | 
			
		||||
+      if (pw2 == NULL)
 | 
			
		||||
+	{
 | 
			
		||||
+	  printf ("getpwnam (%s) failed: %m\n", first_name);
 | 
			
		||||
+	  return 1;
 | 
			
		||||
+	}
 | 
			
		||||
+      pw2 = getpwnam (last_name);
 | 
			
		||||
+      if (pw2 == NULL)
 | 
			
		||||
+	{
 | 
			
		||||
+	  printf ("getpwnam (%s) failed: %m\n", last_name);
 | 
			
		||||
+	  return 1;
 | 
			
		||||
+	}
 | 
			
		||||
+      pw2 = getpwuid (first_uid);
 | 
			
		||||
+      if (pw2 == NULL)
 | 
			
		||||
+	{
 | 
			
		||||
+	  printf ("getpwuid (%llu) failed: %m\n",
 | 
			
		||||
+		  (unsigned long long) first_uid);
 | 
			
		||||
+	  return 1;
 | 
			
		||||
+	}
 | 
			
		||||
+      pw2 = getpwuid (last_uid);
 | 
			
		||||
+      if (pw2 == NULL)
 | 
			
		||||
+	{
 | 
			
		||||
+	  printf ("getpwuid (%llu) failed: %m\n",
 | 
			
		||||
+		  (unsigned long long) last_uid);
 | 
			
		||||
+	  return 1;
 | 
			
		||||
+	}
 | 
			
		||||
+    }
 | 
			
		||||
+  endpwent ();
 | 
			
		||||
+  if (new_count < count)
 | 
			
		||||
+    {
 | 
			
		||||
+      printf ("Missing entry in the password database.\n");
 | 
			
		||||
+      return 1;
 | 
			
		||||
+    }
 | 
			
		||||
+
 | 
			
		||||
+  return 0;
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
+#define TEST_FUNCTION do_test ()
 | 
			
		||||
+#include "../test-skeleton.c"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										27
									
								
								pkgs/development/libraries/glibc/cve-2015-1781.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								pkgs/development/libraries/glibc/cve-2015-1781.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,27 @@
 | 
			
		||||
From 2959eda9272a033863c271aff62095abd01bd4e3 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Arjun Shankar <arjun.is@lostca.se>
 | 
			
		||||
Date: Tue, 21 Apr 2015 14:06:31 +0200
 | 
			
		||||
Subject: [PATCH] CVE-2015-1781: resolv/nss_dns/dns-host.c buffer overflow
 | 
			
		||||
 [BZ#18287]
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 ChangeLog                 | 6 ++++++
 | 
			
		||||
 NEWS                      | 9 ++++++++-
 | 
			
		||||
 resolv/nss_dns/dns-host.c | 3 ++-
 | 
			
		||||
 3 files changed, 16 insertions(+), 2 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c
 | 
			
		||||
index b16b0dd..d8c5579 100644
 | 
			
		||||
--- a/resolv/nss_dns/dns-host.c
 | 
			
		||||
+++ b/resolv/nss_dns/dns-host.c
 | 
			
		||||
@@ -615,7 +615,8 @@ getanswer_r (const querybuf *answer, int anslen, const char *qname, int qtype,
 | 
			
		||||
   int have_to_map = 0;
 | 
			
		||||
   uintptr_t pad = -(uintptr_t) buffer % __alignof__ (struct host_data);
 | 
			
		||||
   buffer += pad;
 | 
			
		||||
-  if (__glibc_unlikely (buflen < sizeof (struct host_data) + pad))
 | 
			
		||||
+  buflen = buflen > pad ? buflen - pad : 0;
 | 
			
		||||
+  if (__glibc_unlikely (buflen < sizeof (struct host_data)))
 | 
			
		||||
     {
 | 
			
		||||
       /* The buffer is too small.  */
 | 
			
		||||
     too_small:
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										53
									
								
								pkgs/development/libraries/glibc/security-4a28f4d5.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										53
									
								
								pkgs/development/libraries/glibc/security-4a28f4d5.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,53 @@
 | 
			
		||||
From 4a28f4d55a6cc33474c0792fe93b5942d81bf185 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Andreas Schwab <schwab@suse.de>
 | 
			
		||||
Date: Thu, 26 Feb 2015 14:55:24 +0100
 | 
			
		||||
Subject: [PATCH] Fix read past end of pattern in fnmatch (bug 18032)
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 ChangeLog            | 7 +++++++
 | 
			
		||||
 NEWS                 | 2 +-
 | 
			
		||||
 posix/fnmatch_loop.c | 5 ++---
 | 
			
		||||
 posix/tst-fnmatch3.c | 8 +++++---
 | 
			
		||||
 4 files changed, 15 insertions(+), 7 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
 | 
			
		||||
index c0cb2fc..72c5d8f 100644
 | 
			
		||||
--- a/posix/fnmatch_loop.c
 | 
			
		||||
+++ b/posix/fnmatch_loop.c
 | 
			
		||||
@@ -945,14 +945,13 @@ FCT (pattern, string, string_end, no_leading_period, flags, ends, alloca_used)
 | 
			
		||||
 		  }
 | 
			
		||||
 		else if (c == L('[') && *p == L('.'))
 | 
			
		||||
 		  {
 | 
			
		||||
-		    ++p;
 | 
			
		||||
 		    while (1)
 | 
			
		||||
 		      {
 | 
			
		||||
 			c = *++p;
 | 
			
		||||
-			if (c == '\0')
 | 
			
		||||
+			if (c == L('\0'))
 | 
			
		||||
 			  return FNM_NOMATCH;
 | 
			
		||||
 
 | 
			
		||||
-			if (*p == L('.') && p[1] == L(']'))
 | 
			
		||||
+			if (c == L('.') && p[1] == L(']'))
 | 
			
		||||
 			  break;
 | 
			
		||||
 		      }
 | 
			
		||||
 		    p += 2;
 | 
			
		||||
diff --git a/posix/tst-fnmatch3.c b/posix/tst-fnmatch3.c
 | 
			
		||||
index d27a557..75bc00a 100644
 | 
			
		||||
--- a/posix/tst-fnmatch3.c
 | 
			
		||||
+++ b/posix/tst-fnmatch3.c
 | 
			
		||||
@@ -21,9 +21,11 @@
 | 
			
		||||
 int
 | 
			
		||||
 do_test (void)
 | 
			
		||||
 {
 | 
			
		||||
-  const char *pattern = "[[:alpha:]'[:alpha:]\0]";
 | 
			
		||||
-
 | 
			
		||||
-  return fnmatch (pattern, "a", 0) != FNM_NOMATCH;
 | 
			
		||||
+  if (fnmatch ("[[:alpha:]'[:alpha:]\0]", "a", 0) != FNM_NOMATCH)
 | 
			
		||||
+    return 1;
 | 
			
		||||
+  if (fnmatch ("[a[.\0.]]", "a", 0) != FNM_NOMATCH)
 | 
			
		||||
+    return 1;
 | 
			
		||||
+  return 0;
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 #define TEST_FUNCTION do_test ()
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										39
									
								
								pkgs/development/libraries/glibc/security-bdf1ff05.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								pkgs/development/libraries/glibc/security-bdf1ff05.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,39 @@
 | 
			
		||||
From bdf1ff052a8e23d637f2c838fa5642d78fcedc33 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Paul Pluzhnikov <ppluzhnikov@google.com>
 | 
			
		||||
Date: Sun, 22 Feb 2015 12:01:47 -0800
 | 
			
		||||
Subject: [PATCH] Fix BZ #17269 -- _IO_wstr_overflow integer overflow
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 ChangeLog       | 6 ++++++
 | 
			
		||||
 NEWS            | 6 +++---
 | 
			
		||||
 libio/wstrops.c | 8 +++++++-
 | 
			
		||||
 3 files changed, 16 insertions(+), 4 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/libio/wstrops.c b/libio/wstrops.c
 | 
			
		||||
index 43d847d..3993579 100644
 | 
			
		||||
--- a/libio/wstrops.c
 | 
			
		||||
+++ b/libio/wstrops.c
 | 
			
		||||
@@ -95,8 +95,11 @@ _IO_wstr_overflow (fp, c)
 | 
			
		||||
 	  wchar_t *old_buf = fp->_wide_data->_IO_buf_base;
 | 
			
		||||
 	  size_t old_wblen = _IO_wblen (fp);
 | 
			
		||||
 	  _IO_size_t new_size = 2 * old_wblen + 100;
 | 
			
		||||
-	  if (new_size < old_wblen)
 | 
			
		||||
+
 | 
			
		||||
+	  if (__glibc_unlikely (new_size < old_wblen)
 | 
			
		||||
+	      || __glibc_unlikely (new_size > SIZE_MAX / sizeof (wchar_t)))
 | 
			
		||||
 	    return EOF;
 | 
			
		||||
+
 | 
			
		||||
 	  new_buf
 | 
			
		||||
 	    = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (new_size
 | 
			
		||||
 									* sizeof (wchar_t));
 | 
			
		||||
@@ -186,6 +189,9 @@ enlarge_userbuf (_IO_FILE *fp, _IO_off64_t offset, int reading)
 | 
			
		||||
     return 1;
 | 
			
		||||
 
 | 
			
		||||
   _IO_size_t newsize = offset + 100;
 | 
			
		||||
+  if (__glibc_unlikely (newsize > SIZE_MAX / sizeof (wchar_t)))
 | 
			
		||||
+    return 1;
 | 
			
		||||
+
 | 
			
		||||
   wchar_t *oldbuf = wd->_IO_buf_base;
 | 
			
		||||
   wchar_t *newbuf
 | 
			
		||||
     = (wchar_t *) (*((_IO_strfile *) fp)->_s._allocate_buffer) (newsize
 | 
			
		||||
 | 
			
		||||
@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
 | 
			
		||||
  inherit src patches;
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "man" ];
 | 
			
		||||
 | 
			
		||||
  configureFlags =
 | 
			
		||||
    # FIXME: perhaps use $SSL_CERT_FILE instead
 | 
			
		||||
    lib.optional stdenv.isLinux "--with-default-trust-store-file=/etc/ssl/certs/ca-certificates.crt"
 | 
			
		||||
 | 
			
		||||
@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isLinux libunwind;
 | 
			
		||||
 | 
			
		||||
  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
 | 
			
		||||
    substituteInPlace Makefile.am --replace stdc++ c++
 | 
			
		||||
    substituteInPlace Makefile.in --replace stdc++ c++
 | 
			
		||||
    substituteInPlace libtool --replace stdc++ c++
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  # some packages want to link to the static tcmalloc_minimal
 | 
			
		||||
  # to drop the runtime dependency on gperftools
 | 
			
		||||
  dontDisableStatic = true;
 | 
			
		||||
 | 
			
		||||
@ -8,13 +8,15 @@
 | 
			
		||||
# (icu is a ~30 MB dependency, the rest is very small in comparison)
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "harfbuzz-0.9.41";
 | 
			
		||||
  name = "harfbuzz-1.0.2";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://www.freedesktop.org/software/harfbuzz/release/${name}.tar.bz2";
 | 
			
		||||
    sha256 = "0z05vj3va43adzxn026fpdvdd533q5zrs5dcxaz3gd021hysa6nq";
 | 
			
		||||
    sha256 = "0rmlwfxyzdblnvg72hpfcz2py8rjflx0m08wlvfgq420cpwcmcxy";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  configureFlags = [
 | 
			
		||||
    ( "--with-graphite2=" + (if withGraphite2 then "yes" else "no") ) # not auto-detected by default
 | 
			
		||||
    ( "--with-icu=" +       (if withIcu       then "yes" else "no") )
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,6 @@
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  inherit (stdenv.lib) optional;
 | 
			
		||||
  isClang = (stdenv.cc.cc.isClang or false);
 | 
			
		||||
in
 | 
			
		||||
stdenv.mkDerivation rec{
 | 
			
		||||
  name = "iniparser-3.1";
 | 
			
		||||
@ -15,8 +14,7 @@ stdenv.mkDerivation rec{
 | 
			
		||||
  patches = ./no-usr.patch;
 | 
			
		||||
 | 
			
		||||
  # TODO: Build dylib on Darwin
 | 
			
		||||
  buildFlags = (if stdenv.isDarwin then [ "libiniparser.a" ] else [ "libiniparser.so" ])
 | 
			
		||||
    ++ optional isClang "CC=clang";
 | 
			
		||||
  buildFlags = (if stdenv.isDarwin then [ "libiniparser.a" ] else [ "libiniparser.so" ]) ++ [ "CC=cc" ];
 | 
			
		||||
 | 
			
		||||
  installPhase = ''
 | 
			
		||||
    mkdir -p $out/lib
 | 
			
		||||
 | 
			
		||||
@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    description = "an implementation of Kerberos 5 (and some more stuff) largely written in Sweden";
 | 
			
		||||
    description = "An implementation of Kerberos 5 (and some more stuff)";
 | 
			
		||||
    license = licenses.bsd3;
 | 
			
		||||
    platforms = platforms.linux;
 | 
			
		||||
    maintainers = with maintainers; [ wkennington ];
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,18 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "0g6js20x7vnpq4p8ghbw3mh9wpqksya9vwhzdx6dnlf354zjsal1";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
 | 
			
		||||
    substituteInPlace kccommon.h \
 | 
			
		||||
      --replace tr1/unordered_map unordered_map \
 | 
			
		||||
      --replace tr1/unordered_set unordered_set \
 | 
			
		||||
      --replace tr1::hash std::hash \
 | 
			
		||||
      --replace tr1::unordered_map std::unordered_map \
 | 
			
		||||
      --replace tr1::unordered_set std::unordered_set
 | 
			
		||||
 | 
			
		||||
    substituteInPlace lab/kcdict/Makefile --replace stdc++ c++
 | 
			
		||||
    substituteInPlace configure --replace stdc++ c++
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ zlib ];
 | 
			
		||||
 | 
			
		||||
  meta = with stdenv.lib; {
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
{ stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev, valgrind }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "libdrm-2.4.62";
 | 
			
		||||
  name = "libdrm-2.4.64";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
 | 
			
		||||
    sha256 = "906c294bdbe1c94c3ca084305d61a6e5a8367f3b4986e6cc13b1e9b3f75931dc";
 | 
			
		||||
    sha256 = "1dilm6cwqfx9plf3i5kkaf6m5v1zyrcadqbcjsrsshkfgpz8c1xn";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ pkgconfig ];
 | 
			
		||||
 | 
			
		||||
@ -1,14 +1,12 @@
 | 
			
		||||
{ stdenv, fetchFromGitHub, autoreconfHook, python, findutils }:
 | 
			
		||||
{ stdenv, fetchurl, autoreconfHook, python, findutils }:
 | 
			
		||||
 | 
			
		||||
let version = "2.0.22"; in
 | 
			
		||||
stdenv.mkDerivation {
 | 
			
		||||
  name = "libevent-${version}";
 | 
			
		||||
 | 
			
		||||
  src = fetchFromGitHub {
 | 
			
		||||
    owner = "libevent";
 | 
			
		||||
    repo = "libevent";
 | 
			
		||||
    rev = "release-${version}-stable";
 | 
			
		||||
    sha256 = "1x2437af9j870i7l37dav1i2g9z93lbz406kyimx4nq5qcx5463p";
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://sourceforge/levent/libevent-${version}-stable.tar.gz";
 | 
			
		||||
    sha256 = "18qz9qfwrkakmazdlwxvjmw8p76g70n3faikwvdwznns1agw9hki";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ autoreconfHook ];
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
{ fetchurl, stdenv }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "libidn-1.31";
 | 
			
		||||
  name = "libidn-1.32";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnu/libidn/${name}.tar.gz";
 | 
			
		||||
    sha256 = "026z12mczlag443ms9n954h36pi3m7iva9jfw8y4ispsj772zpxg";
 | 
			
		||||
    sha256 = "1xf4hphhahcjm2xwx147lfpsavjwv9l4c2gf6hx71zxywbz5lpds";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  doCheck = ! stdenv.isDarwin;
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  meta = with stdenv.lib; {
 | 
			
		||||
    homepage = http://xiph.org/ogg/;
 | 
			
		||||
    license = licenses.bsd3;
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
{ stdenv, fetchurl, flex, bison }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "libpcap-1.5.3";
 | 
			
		||||
  name = "libpcap-1.7.4";
 | 
			
		||||
  
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://www.tcpdump.org/release/${name}.tar.gz";
 | 
			
		||||
    sha256 = "14wyjywrdi1ikaj6yc9c72m6m2r64z94lb0gm7k1a3q6q5cj3scs";
 | 
			
		||||
    sha256 = "1c28ykkizd7jqgzrfkg7ivqjlqs9p6lygp26bsw2i0z8hwhi3lvs";
 | 
			
		||||
  };
 | 
			
		||||
  
 | 
			
		||||
  nativeBuildInputs = [ flex bison ];
 | 
			
		||||
@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    else if stdenv.isDarwin then [ "--with-pcap=bpf" ]
 | 
			
		||||
    else [];
 | 
			
		||||
 | 
			
		||||
  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
 | 
			
		||||
    substituteInPlace configure --replace " -arch i386" ""
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  preInstall = ''mkdir -p $out/bin'';
 | 
			
		||||
  
 | 
			
		||||
  crossAttrs = {
 | 
			
		||||
 | 
			
		||||
@ -1,10 +0,0 @@
 | 
			
		||||
--- a/libsoup/libsoup-2.4.sym 2014-10-29 22:37:54 -0700
 | 
			
		||||
+++ b/libsoup/libsoup-2.4.sym 2014-06-18 07:42:51 -0700
 | 
			
		||||
@@ -348,7 +348,6 @@
 | 
			
		||||
 soup_server_get_async_context
 | 
			
		||||
 soup_server_get_listener
 | 
			
		||||
 soup_server_get_listeners
 | 
			
		||||
-soup_server_get_gsocket
 | 
			
		||||
 soup_server_get_port
 | 
			
		||||
 soup_server_get_type
 | 
			
		||||
 soup_server_get_uris
 | 
			
		||||
@ -3,7 +3,7 @@
 | 
			
		||||
, libintlOrEmpty
 | 
			
		||||
, intltool, python }:
 | 
			
		||||
let
 | 
			
		||||
  majorVersion = "2.48";
 | 
			
		||||
  majorVersion = "2.50";
 | 
			
		||||
  version = "${majorVersion}.0";
 | 
			
		||||
in
 | 
			
		||||
stdenv.mkDerivation {
 | 
			
		||||
@ -11,12 +11,11 @@ stdenv.mkDerivation {
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnome/sources/libsoup/${majorVersion}/libsoup-${version}.tar.xz";
 | 
			
		||||
    sha256 = "ea34dd64fe44343445daf6dd690d0691e9d973468de44878da97371c16d89784";
 | 
			
		||||
    sha256 = "1e01365ac4af3817187ea847f9d3588c27eee01fc519a5a7cb212bb78b0f667b";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  patchPhase = ''
 | 
			
		||||
    patchShebangs libsoup/
 | 
			
		||||
    patch -p1 < ${./bad-symbol.patch}
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  buildInputs = libintlOrEmpty ++ [ intltool python sqlite ];
 | 
			
		||||
 | 
			
		||||
@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "0wj8d1iwk9vnpax2h29xqc2hwknxg3s0ay2d5pxkg59ihbifn6pa";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" "man" ];
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ pkgconfig ];
 | 
			
		||||
 | 
			
		||||
  propagatedBuildInputs = [ zlib libjpeg xz ]; #TODO: opengl support (bogus configure detection)
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ pkgconfig ];
 | 
			
		||||
  propagatedBuildInputs = [ libogg ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -16,11 +16,13 @@ stdenv.mkDerivation (rec {
 | 
			
		||||
    sha256 = "1g6mf03xcabmk5ing1lwqmasr803616gb2xhn7pll10x2l5w6y2i";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  buildInputs = stdenv.lib.optional pythonSupport python
 | 
			
		||||
    # Libxml2 has an optional dependency on liblzma.  However, on impure
 | 
			
		||||
    # platforms, it may end up using that from /usr/lib, and thus lack a
 | 
			
		||||
    # RUNPATH for that, leading to undefined references for its users.
 | 
			
		||||
    ++ (stdenv.lib.optional stdenv.isFreeBSD xz);
 | 
			
		||||
    ++ stdenv.lib.optional stdenv.isFreeBSD xz;
 | 
			
		||||
 | 
			
		||||
  propagatedBuildInputs = [ zlib findXMLCatalogs ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ libxml2 ];
 | 
			
		||||
 | 
			
		||||
  propagatedBuildInputs = [ findXMLCatalogs ];
 | 
			
		||||
 | 
			
		||||
@ -1,32 +1,35 @@
 | 
			
		||||
{stdenv, fetchurl}:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "lzo-2.08";
 | 
			
		||||
  name = "lzo-2.09";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "${meta.homepage}/download/${name}.tar.gz";
 | 
			
		||||
    sha256 = "0536ad3ksk1r8h2a27d0y4p27lwjarzyndw7sagvxzj6xr6kw6xc";
 | 
			
		||||
    sha256 = "0k5kpj3jnsjfxqqkblpfpx0mqcy86zs5fhjhgh2kq1hksg7ag57j";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  configureFlags = [ "--enable-shared" ];
 | 
			
		||||
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
  doCheck = true;
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    description = "A data compresion library suitable for real-time data de-/compression";
 | 
			
		||||
    longDescription =
 | 
			
		||||
      '' LZO is a data compression library which is suitable for data
 | 
			
		||||
	 de-/compression in real-time.  This means it favours speed over
 | 
			
		||||
	 compression ratio.
 | 
			
		||||
 | 
			
		||||
	 LZO is written in ANSI C.  Both the source code and the compressed
 | 
			
		||||
	 data format are designed to be portable across platforms.
 | 
			
		||||
      '';
 | 
			
		||||
  meta = with stdenv.lib; {
 | 
			
		||||
    description = "Real-time data (de)compression library";
 | 
			
		||||
    longDescription = ''
 | 
			
		||||
      LZO is a portable lossless data compression library written in ANSI C.
 | 
			
		||||
      Both the source code and the compressed data format are designed to be
 | 
			
		||||
      portable across platforms.
 | 
			
		||||
      LZO offers pretty fast compression and *extremely* fast decompression.
 | 
			
		||||
      While it favours speed over compression ratio, it includes slower
 | 
			
		||||
      compression levels achieving a quite competitive compression ratio
 | 
			
		||||
      while still decompressing at this very high speed.
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
    homepage = http://www.oberhumer.com/opensource/lzo;
 | 
			
		||||
    license = stdenv.lib.licenses.gpl2Plus;
 | 
			
		||||
    license = licenses.gpl2Plus;
 | 
			
		||||
 | 
			
		||||
    platforms = stdenv.lib.platforms.all;
 | 
			
		||||
    maintainers = [ ];
 | 
			
		||||
    platforms = platforms.all;
 | 
			
		||||
    maintainers = with maintainers; [ nckx ];
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -4,7 +4,6 @@
 | 
			
		||||
, libvdpau, libelf, libva
 | 
			
		||||
, grsecEnabled
 | 
			
		||||
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
 | 
			
		||||
, enableExtraFeatures ? false # not maintained
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
 | 
			
		||||
@ -23,7 +22,7 @@ else
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  version = "10.6.2";
 | 
			
		||||
  version = "10.6.5";
 | 
			
		||||
  # this is the default search path for DRI drivers
 | 
			
		||||
  driverLink = "/run/opengl-driver" + stdenv.lib.optionalString stdenv.isi686 "-32";
 | 
			
		||||
in
 | 
			
		||||
@ -37,7 +36,7 @@ stdenv.mkDerivation {
 | 
			
		||||
      "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
 | 
			
		||||
      "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
 | 
			
		||||
    ];
 | 
			
		||||
    sha256 = "05753d3db4212900927b9894221a1669a10f56786e86a7e818b6e18a0817dca9";
 | 
			
		||||
    sha256 = "fb6fac3c85bcfa9d06b8dd439169f23f0c0924a88e44362e738b99b1feff762f";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  prePatch = "patchShebangs .";
 | 
			
		||||
@ -123,10 +122,8 @@ stdenv.mkDerivation {
 | 
			
		||||
  # ToDo: probably not all .la files are completely fixed, but it shouldn't matter
 | 
			
		||||
  postInstall = with stdenv.lib; ''
 | 
			
		||||
    mv -t "$drivers/lib/" \
 | 
			
		||||
  '' + optionalString enableExtraFeatures ''
 | 
			
		||||
      `#$out/lib/libXvMC*` \
 | 
			
		||||
      $out/lib/gbm $out/lib/libgbm* \
 | 
			
		||||
  '' + ''
 | 
			
		||||
      $out/lib/libXvMC* \
 | 
			
		||||
      $out/lib/d3d \
 | 
			
		||||
      $out/lib/vdpau \
 | 
			
		||||
      $out/lib/libxatracker*
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,20 +1,16 @@
 | 
			
		||||
{ stdenv, fetchurl, autoconf, openssl, cyrus_sasl, db, groff }:
 | 
			
		||||
{ stdenv, fetchurl, openssl, cyrus_sasl, db, groff }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "openldap-2.4.41";
 | 
			
		||||
  name = "openldap-2.4.42";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
 | 
			
		||||
    sha256 = "0vkzfd1pmin6xsv8lb1nabfxma8n1q00khr6nfifqkxlm2s6p197";
 | 
			
		||||
    sha256 = "0qwfpb5ipp2l76v11arghq5mr0sjc6xhjfg8a0kgsaw5qpib1dzf";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  nativeBuildInputs = [ autoconf ];
 | 
			
		||||
  buildInputs = [ openssl cyrus_sasl db groff ];
 | 
			
		||||
  outputs = [ "out" "man" ];
 | 
			
		||||
 | 
			
		||||
  # NOTE: Only needed for the gcc5 patch
 | 
			
		||||
  preConfigure = ''
 | 
			
		||||
    autoconf
 | 
			
		||||
  '';
 | 
			
		||||
  buildInputs = [ openssl cyrus_sasl db groff ];
 | 
			
		||||
 | 
			
		||||
  configureFlags =
 | 
			
		||||
    [ "--enable-overlays"
 | 
			
		||||
 | 
			
		||||
@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha1 = "9d1977cc89242cd11471269ece2ed4650947c046";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "man" ];
 | 
			
		||||
 | 
			
		||||
  patches = optional stdenv.isCygwin ./1.0.1-cygwin64.patch
 | 
			
		||||
    ++ optional (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")) ./darwin-arch.patch;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "17bqykp604p7376wj3q2nmjdhrb6v1ny8q08zdwi7qvc02l9wrsi";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" "man" ];
 | 
			
		||||
 | 
			
		||||
  configureFlags = ''
 | 
			
		||||
    --enable-jit
 | 
			
		||||
    ${if unicodeSupport then "--enable-unicode-properties" else ""}
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    inherit sha256;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  patches = [ ./datadir_env.patch ];
 | 
			
		||||
 | 
			
		||||
  propagatedBuildInputs = with stdenv.lib;
 | 
			
		||||
 | 
			
		||||
@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
  # -DNDEBUG for speed
 | 
			
		||||
  configureFlags = [ "CXXFLAGS=-DNDEBUG" ];
 | 
			
		||||
 | 
			
		||||
  doCheck = true;
 | 
			
		||||
  # SIGILL on darwin
 | 
			
		||||
  doCheck = !stdenv.isDarwin;
 | 
			
		||||
 | 
			
		||||
  meta = with stdenv.lib; {
 | 
			
		||||
    homepage = http://code.google.com/p/snappy/;
 | 
			
		||||
 | 
			
		||||
@ -3,18 +3,49 @@
 | 
			
		||||
assert interactive -> readline != null && ncurses != null;
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation {
 | 
			
		||||
  name = "sqlite-3.8.10.2";
 | 
			
		||||
  name = "sqlite-3.8.11.1";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://sqlite.org/2015/sqlite-autoconf-3081002.tar.gz";
 | 
			
		||||
    sha1 = "c2f2c17d3dc4c4e179d35cc04e4420636d48a152";
 | 
			
		||||
    url = "http://sqlite.org/2015/sqlite-autoconf-3081101.tar.gz";
 | 
			
		||||
    sha1 = "d0e22d7e361b6f50830a3cdeafe35311443f8f9a";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = lib.optionals interactive [ readline ncurses ];
 | 
			
		||||
 | 
			
		||||
  configureFlags = "--enable-threadsafe";
 | 
			
		||||
  configureFlags = [ "--enable-threadsafe" ];
 | 
			
		||||
 | 
			
		||||
  NIX_CFLAGS_COMPILE = "-DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1";
 | 
			
		||||
  NIX_CFLAGS_COMPILE = [
 | 
			
		||||
    "-DSQLITE_ENABLE_COLUMN_METADATA"
 | 
			
		||||
    "-DSQLITE_ENABLE_DBSTAT_VTAB"
 | 
			
		||||
    "-DSQLITE_ENABLE_FTS3"
 | 
			
		||||
    "-DSQLITE_ENABLE_FTS3_PARENTHESIS"
 | 
			
		||||
    "-DSQLITE_ENABLE_FTS4"
 | 
			
		||||
    "-DSQLITE_ENABLE_RTREE"
 | 
			
		||||
    "-DSQLITE_ENABLE_STMT_SCANSTATUS"
 | 
			
		||||
    "-DSQLITE_ENABLE_UNLOCK_NOTIFY"
 | 
			
		||||
    "-DSQLITE_SOUNDEX"
 | 
			
		||||
    "-DSQLITE_SECURE_DELETE"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  # Test for features which may not be available at compile time
 | 
			
		||||
  preBuild = ''
 | 
			
		||||
    # Use pread(), pread64(), pwrite(), pwrite64() functions for better performance if they are available.
 | 
			
		||||
    if cc -Werror=implicit-function-declaration -x c - -o "$TMPDIR/pread_pwrite_test" <<< \
 | 
			
		||||
      ''$'#include <unistd.h>\nint main()\n{\n  pread(0, NULL, 0, 0);\n  pwrite(0, NULL, 0, 0);\n  return 0;\n}'; then
 | 
			
		||||
      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DUSE_PREAD"
 | 
			
		||||
    fi
 | 
			
		||||
    if cc -Werror=implicit-function-declaration -x c - -o "$TMPDIR/pread64_pwrite64_test" <<< \
 | 
			
		||||
      ''$'#include <unistd.h>\nint main()\n{\n  pread64(0, NULL, 0, 0);\n  pwrite64(0, NULL, 0, 0);\n  return 0;\n}'; then
 | 
			
		||||
      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DUSE_PREAD64"
 | 
			
		||||
    elif cc -D_LARGEFILE64_SOURCE -Werror=implicit-function-declaration -x c - -o "$TMPDIR/pread64_pwrite64_test" <<< \
 | 
			
		||||
      ''$'#include <unistd.h>\nint main()\n{\n  pread64(0, NULL, 0, 0);\n  pwrite64(0, NULL, 0, 0);\n  return 0;\n}'; then
 | 
			
		||||
      export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -DUSE_PREAD64 -D_LARGEFILE64_SOURCE"
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    echo ""
 | 
			
		||||
    echo "NIX_CFLAGS_COMPILE = $NIX_CFLAGS_COMPILE"
 | 
			
		||||
    echo ""
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    homepage = http://www.sqlite.org/;
 | 
			
		||||
 | 
			
		||||
@ -58,6 +58,12 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    ./autogen.sh
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
 | 
			
		||||
    substituteInPlace api/leveldb/leveldb_wt.h --replace \
 | 
			
		||||
      '#include "wiredtiger.h"' \
 | 
			
		||||
      ''$'#include "wiredtiger.h"\n#include "pthread.h"'
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    homepage = http://wiredtiger.com/;
 | 
			
		||||
    description = "";
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										75
									
								
								pkgs/development/perl-modules/lwp-test-with-localhost.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										75
									
								
								pkgs/development/perl-modules/lwp-test-with-localhost.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,75 @@
 | 
			
		||||
From 2d7a479b39bb20a0d61f067ba6c2df92117fcb8c Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
 | 
			
		||||
Date: Wed, 23 Apr 2014 12:45:38 +0200
 | 
			
		||||
Subject: [PATCH] Connect to localhost instead of hostname
 | 
			
		||||
MIME-Version: 1.0
 | 
			
		||||
Content-Type: text/plain; charset=UTF-8
 | 
			
		||||
Content-Transfer-Encoding: 8bit
 | 
			
		||||
 | 
			
		||||
The hostname does not have to be resolvable nor reachable. It's just
 | 
			
		||||
a machine name.
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
 | 
			
		||||
---
 | 
			
		||||
 t/local/http.t   | 2 +-
 | 
			
		||||
 t/robot/ua-get.t | 2 +-
 | 
			
		||||
 t/robot/ua.t     | 2 +-
 | 
			
		||||
 talk-to-ourself  | 3 +--
 | 
			
		||||
 4 files changed, 4 insertions(+), 5 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/t/local/http.t b/t/local/http.t
 | 
			
		||||
index 779cc21..534b4c8 100644
 | 
			
		||||
--- a/t/local/http.t
 | 
			
		||||
+++ b/t/local/http.t
 | 
			
		||||
@@ -20,7 +20,7 @@ if ($D eq 'daemon') {
 | 
			
		||||
 
 | 
			
		||||
     require HTTP::Daemon;
 | 
			
		||||
 
 | 
			
		||||
-    my $d = HTTP::Daemon->new(Timeout => 10);
 | 
			
		||||
+    my $d = HTTP::Daemon->new(Timeout => 10, LocalAddr => 'localhost');
 | 
			
		||||
 
 | 
			
		||||
     print "Please to meet you at: <URL:", $d->url, ">\n";
 | 
			
		||||
     open(STDOUT, $^O eq 'VMS'? ">nl: " : ">/dev/null");
 | 
			
		||||
diff --git a/t/robot/ua-get.t b/t/robot/ua-get.t
 | 
			
		||||
index 5754c4b..bf24589 100644
 | 
			
		||||
--- a/t/robot/ua-get.t
 | 
			
		||||
+++ b/t/robot/ua-get.t
 | 
			
		||||
@@ -19,7 +19,7 @@ if ($D eq 'daemon') {
 | 
			
		||||
 
 | 
			
		||||
     require HTTP::Daemon;
 | 
			
		||||
 
 | 
			
		||||
-    my $d = new HTTP::Daemon Timeout => 10;
 | 
			
		||||
+    my $d = new HTTP::Daemon Timeout => 10, LocalAddr => 'localhost';
 | 
			
		||||
 
 | 
			
		||||
     print "Please to meet you at: <URL:", $d->url, ">\n";
 | 
			
		||||
     open(STDOUT, $^O eq 'MSWin32' ?  ">nul" : $^O eq 'VMS' ? ">NL:"  : ">/dev/null");
 | 
			
		||||
diff --git a/t/robot/ua.t b/t/robot/ua.t
 | 
			
		||||
index 21ad5c8..11fafa8 100644
 | 
			
		||||
--- a/t/robot/ua.t
 | 
			
		||||
+++ b/t/robot/ua.t
 | 
			
		||||
@@ -19,7 +19,7 @@ if ($D eq 'daemon') {
 | 
			
		||||
 
 | 
			
		||||
     require HTTP::Daemon;
 | 
			
		||||
 
 | 
			
		||||
-    my $d = new HTTP::Daemon Timeout => 10;
 | 
			
		||||
+    my $d = new HTTP::Daemon Timeout => 10, LocalAddr => 'localhost';
 | 
			
		||||
 
 | 
			
		||||
     print "Please to meet you at: <URL:", $d->url, ">\n";
 | 
			
		||||
     open(STDOUT, $^O eq 'MSWin32' ?  ">nul" : $^O eq 'VMS' ? ">NL:"  : ">/dev/null");
 | 
			
		||||
diff --git a/talk-to-ourself b/talk-to-ourself
 | 
			
		||||
index 6c0257a..b4acda2 100644
 | 
			
		||||
--- a/talk-to-ourself
 | 
			
		||||
+++ b/talk-to-ourself
 | 
			
		||||
@@ -9,8 +9,7 @@ require IO::Socket;
 | 
			
		||||
 
 | 
			
		||||
 if (@ARGV >= 2 && $ARGV[0] eq "--port") {
 | 
			
		||||
     my $port = $ARGV[1];
 | 
			
		||||
-    require Sys::Hostname;
 | 
			
		||||
-    my $host = Sys::Hostname::hostname();
 | 
			
		||||
+    my $host = 'localhost';
 | 
			
		||||
     if (my $socket = IO::Socket::INET->new(PeerAddr => "$host:$port", Timeout => 5)) {
 | 
			
		||||
 	require IO::Select;
 | 
			
		||||
 	if (IO::Select->new($socket)->can_read(1)) {
 | 
			
		||||
-- 
 | 
			
		||||
1.9.0
 | 
			
		||||
 | 
			
		||||
@ -26,7 +26,7 @@ wrapPythonProgramsIn() {
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    # Find all regular files in the output directory that are executable.
 | 
			
		||||
    for f in $(find "$dir" -type f -perm +0100); do
 | 
			
		||||
    for f in $(find "$dir" -type f -perm /0100); do
 | 
			
		||||
        # Rewrite "#! .../env python" to "#! /nix/store/.../python".
 | 
			
		||||
        if head -n1 "$f" | grep -q '#!.*/env.*\(python\|pypy\)'; then
 | 
			
		||||
            sed -i "$f" -e "1 s^.*/env[ ]*\(python\|pypy\)^#! $python^"
 | 
			
		||||
 | 
			
		||||
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  configureFlags = "--disable-introspection";
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ python pkgconfig glib ];
 | 
			
		||||
 | 
			
		||||
@ -10,8 +10,8 @@ assert wantPS -> (ps != null);
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  os = stdenv.lib.optionalString;
 | 
			
		||||
  majorVersion = "3.2";
 | 
			
		||||
  minorVersion = "2";
 | 
			
		||||
  majorVersion = "3.3";
 | 
			
		||||
  minorVersion = "1";
 | 
			
		||||
  version = "${majorVersion}.${minorVersion}";
 | 
			
		||||
in
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "${meta.homepage}files/v${majorVersion}/cmake-${version}.tar.gz";
 | 
			
		||||
    sha256 = "0y3w83al0vh9ll7fnqm3nx7l8hsl85k8iv9abxb791q36rp4xsdd";
 | 
			
		||||
    sha256 = "1mp32dqywk4dfw7zmpgp31axszv7h74yk69g273z21q7d8n04rfd";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    # Fix a broken sed expression used for detecting the minor
 | 
			
		||||
    # version of guile we are using
 | 
			
		||||
    sed -i "s,sed '.*-I.*',sed 's/\\\(^\\\| \\\)-I/\\\1/g',g" configure
 | 
			
		||||
 | 
			
		||||
    substituteInPlace pkg/libopts/mklibsrc.sh --replace /tmp $TMPDIR
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  #doCheck = true; # 2 tests fail because of missing /dev/tty
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
{stdenv, fetchurl}:
 | 
			
		||||
{ stdenv, fetchurl }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "gnum4-1.4.17";
 | 
			
		||||
@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    && !stdenv.isCygwin                    # XXX: `test-dup2' fails on Cygwin
 | 
			
		||||
    && !stdenv.isSunOS;                    # XXX: `test-setlocale2.sh' fails
 | 
			
		||||
 | 
			
		||||
  configureFlags = "--with-syscmd-shell=${stdenv.shell}";
 | 
			
		||||
 | 
			
		||||
  # Upstream is aware of it; it may be in the next release.
 | 
			
		||||
  patches = [ ./s_isdir.patch ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -9,7 +9,7 @@ patchELF() {
 | 
			
		||||
    if [ -e "$prefix" ]; then
 | 
			
		||||
        find "$prefix" \( \
 | 
			
		||||
            \( -type f -a -name "*.so*" \) -o \
 | 
			
		||||
            \( -type f -a -perm +0100 \) \
 | 
			
		||||
            \( -type f -a -perm /0100 \) \
 | 
			
		||||
            \) -print -exec patchelf --shrink-rpath '{}' \;
 | 
			
		||||
    fi
 | 
			
		||||
    stopNest
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										44
									
								
								pkgs/development/tools/misc/texinfo/6.0.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								pkgs/development/tools/misc/texinfo/6.0.nix
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,44 @@
 | 
			
		||||
{ stdenv, fetchurl, ncurses, perl, xz, interactive ? false }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "texinfo-6.0";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://gnu/texinfo/${name}.tar.xz";
 | 
			
		||||
    sha256 = "1r3i6jyynn6ab45fxw5bms8mflk9ry4qpj6gqyry72vfd5c47fhi";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ perl xz ]
 | 
			
		||||
    ++ stdenv.lib.optional interactive ncurses;
 | 
			
		||||
 | 
			
		||||
  preInstall = ''
 | 
			
		||||
    installFlags="TEXMF=$out/texmf-dist";
 | 
			
		||||
    installTargets="install install-tex";
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  doCheck = !stdenv.isDarwin;
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
    homepage = "http://www.gnu.org/software/texinfo/";
 | 
			
		||||
    description = "The GNU documentation system";
 | 
			
		||||
    license = stdenv.lib.licenses.gpl3Plus;
 | 
			
		||||
    platforms = stdenv.lib.platforms.all;
 | 
			
		||||
 | 
			
		||||
    longDescription = ''
 | 
			
		||||
      Texinfo is the official documentation format of the GNU project.
 | 
			
		||||
      It was invented by Richard Stallman and Bob Chassell many years
 | 
			
		||||
      ago, loosely based on Brian Reid's Scribe and other formatting
 | 
			
		||||
      languages of the time.  It is used by many non-GNU projects as
 | 
			
		||||
      well.
 | 
			
		||||
 | 
			
		||||
      Texinfo uses a single source file to produce output in a number
 | 
			
		||||
      of formats, both online and printed (dvi, html, info, pdf, xml,
 | 
			
		||||
      etc.).  This means that instead of writing different documents
 | 
			
		||||
      for online information and another for a printed manual, you
 | 
			
		||||
      need write only one document.  And when the work is revised, you
 | 
			
		||||
      need revise only that one document.  The Texinfo system is
 | 
			
		||||
      well-integrated with GNU Emacs.
 | 
			
		||||
    '';
 | 
			
		||||
    branch = "5.2";
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam
 | 
			
		||||
, dbus, acl, gmp, xdg_utils
 | 
			
		||||
, dbus, acl, gmp
 | 
			
		||||
, libusb ? null, gnutls ? null, avahi ? null, libpaper ? null
 | 
			
		||||
}:
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,7 @@ stdenv.mkDerivation {
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb gnutls avahi libpaper ]
 | 
			
		||||
    ++ optionals stdenv.isLinux [ pam dbus.libs acl xdg_utils ] ;
 | 
			
		||||
    ++ optionals stdenv.isLinux [ pam dbus.libs acl ];
 | 
			
		||||
 | 
			
		||||
  propagatedBuildInputs = [ gmp ];
 | 
			
		||||
 | 
			
		||||
@ -54,8 +54,7 @@ stdenv.mkDerivation {
 | 
			
		||||
      "CUPS_PRIMARY_SYSTEM_GROUP=root"
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  postInstall =
 | 
			
		||||
    ''
 | 
			
		||||
  postInstall = ''
 | 
			
		||||
      # Delete obsolete stuff that conflicts with cups-filters.
 | 
			
		||||
      rm -rf $out/share/cups/banners $out/share/cups/data/testprint
 | 
			
		||||
 | 
			
		||||
@ -71,6 +70,10 @@ stdenv.mkDerivation {
 | 
			
		||||
          mv "$f" "''${f/org\.cups\./}"
 | 
			
		||||
        fi
 | 
			
		||||
      done
 | 
			
		||||
    '' + optionalString stdenv.isLinux ''
 | 
			
		||||
      # Use xdg-open when on Linux
 | 
			
		||||
      substituteInPlace $out/share/applications/cups.desktop \
 | 
			
		||||
        --replace "Exec=htmlview" "Exec=xdg-open"
 | 
			
		||||
    '';
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
 | 
			
		||||
@ -7,26 +7,41 @@
 | 
			
		||||
 | 
			
		||||
assert x11Support -> x11 != null;
 | 
			
		||||
assert cupsSupport -> cups != null;
 | 
			
		||||
let
 | 
			
		||||
  version = "9.15";
 | 
			
		||||
  sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
 | 
			
		||||
 | 
			
		||||
  fonts = stdenv.mkDerivation {
 | 
			
		||||
    name = "ghostscript-fonts";
 | 
			
		||||
 | 
			
		||||
    srcs = [
 | 
			
		||||
      (fetchurl {
 | 
			
		||||
        url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz";
 | 
			
		||||
        sha256 = "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf";
 | 
			
		||||
      })
 | 
			
		||||
      (fetchurl {
 | 
			
		||||
        url = "mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz";
 | 
			
		||||
        sha256 = "1cxaah3r52qq152bbkiyj2f7dx1rf38vsihlhjmrvzlr8v6cqil1";
 | 
			
		||||
      })
 | 
			
		||||
      # ... add other fonts here
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    installPhase = ''
 | 
			
		||||
      mkdir "$out"
 | 
			
		||||
      mv -v * "$out/"
 | 
			
		||||
    '';
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
in
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "ghostscript-9.15";
 | 
			
		||||
  name = "ghostscript-${version}";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "http://downloads.ghostscript.com/public/${name}.tar.bz2";
 | 
			
		||||
    sha256 = "0p1isp6ssfay141klirn7n9s8b546vcz6paksfmksbwy0ljsypg6";
 | 
			
		||||
    inherit sha256;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  fonts = [
 | 
			
		||||
    (fetchurl {
 | 
			
		||||
      url = "mirror://sourceforge/gs-fonts/ghostscript-fonts-std-8.11.tar.gz";
 | 
			
		||||
      sha256 = "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf";
 | 
			
		||||
    })
 | 
			
		||||
    (fetchurl {
 | 
			
		||||
      url = "mirror://gnu/ghostscript/gnu-gs-fonts-other-6.0.tar.gz";
 | 
			
		||||
      sha256 = "1cxaah3r52qq152bbkiyj2f7dx1rf38vsihlhjmrvzlr8v6cqil1";
 | 
			
		||||
    })
 | 
			
		||||
    # ... add other fonts here
 | 
			
		||||
  ];
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
 | 
			
		||||
@ -48,36 +63,34 @@ stdenv.mkDerivation rec {
 | 
			
		||||
 | 
			
		||||
  makeFlags = [ "cups_serverroot=$(out)" "cups_serverbin=$(out)/lib/cups" ];
 | 
			
		||||
 | 
			
		||||
  configureFlags =
 | 
			
		||||
    [ "--with-system-libtiff" "--disable-sse2"
 | 
			
		||||
      "--enable-dynamic"
 | 
			
		||||
      (if x11Support then "--with-x" else "--without-x")
 | 
			
		||||
      (if cupsSupport then "--enable-cups" else "--disable-cups")
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  doCheck = true;
 | 
			
		||||
 | 
			
		||||
  installTargets="install soinstall";
 | 
			
		||||
 | 
			
		||||
  #CFLAGS = "-fPIC";
 | 
			
		||||
  #NIX_LDFLAGS =
 | 
			
		||||
  #  "-lz -rpath${ if stdenv.isDarwin then " " else "="}${freetype}/lib";
 | 
			
		||||
 | 
			
		||||
  preConfigure = ''
 | 
			
		||||
    rm -rf jpeg libpng zlib jasper expat tiff lcms{,2} jbig2dec openjpeg freetype cups/libs
 | 
			
		||||
 | 
			
		||||
    sed "s@if ( test -f \$(INCLUDE)[^ ]* )@if ( true )@; s@INCLUDE=/usr/include@INCLUDE=/no-such-path@" -i base/unix-aux.mak
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  configureFlags =
 | 
			
		||||
    [ "--with-system-libtiff"
 | 
			
		||||
      "--enable-dynamic"
 | 
			
		||||
      (if x11Support then "--with-x" else "--without-x")
 | 
			
		||||
      (if cupsSupport then "--enable-cups" else "--disable-cups")
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
  doCheck = true;
 | 
			
		||||
  preCheck = "mkdir ./obj";
 | 
			
		||||
  # parallel check sometimes gave: Fatal error: can't create ./obj/whitelst.o
 | 
			
		||||
 | 
			
		||||
  # don't build/install statically linked bin/gs
 | 
			
		||||
  buildFlags = "so";
 | 
			
		||||
  installTargets="soinstall";
 | 
			
		||||
 | 
			
		||||
  postInstall = ''
 | 
			
		||||
    # ToDo: web says the fonts should be already included
 | 
			
		||||
    for i in $fonts; do
 | 
			
		||||
      (cd $out/share/ghostscript && tar xvfz $i)
 | 
			
		||||
    done
 | 
			
		||||
    ln -s gsc "$out"/bin/gs
 | 
			
		||||
 | 
			
		||||
    rm -rf $out/lib/cups/filter/{gstopxl,gstoraster}
 | 
			
		||||
    mkdir -p "$doc/share/ghostscript/${version}"
 | 
			
		||||
    mv "$out/share/ghostscript/${version}"/{doc,examples} "$doc/share/ghostscript/${version}/"
 | 
			
		||||
 | 
			
		||||
    rm -rf $out/share/ghostscript/*/{doc,examples}
 | 
			
		||||
    ln -s "${fonts}" "$out/share/ghostscript/fonts"
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  meta = {
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,8 @@
 | 
			
		||||
{ stdenv, appleDerivation, icu, dyld, libdispatch, launchd, libclosure }:
 | 
			
		||||
 | 
			
		||||
# this project uses blocks, a clang-only extension
 | 
			
		||||
assert stdenv.cc.isClang;
 | 
			
		||||
 | 
			
		||||
appleDerivation {
 | 
			
		||||
  buildInputs = [ dyld icu libdispatch launchd libclosure ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,11 @@
 | 
			
		||||
{ stdenv, fetchurl, autoreconfHook, gzip, bzip2, pkgconfig, check, pam }:
 | 
			
		||||
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "kbd-2.0.2";
 | 
			
		||||
  name = "kbd-2.0.3";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url = "mirror://kernel/linux/utils/kbd/${name}.tar.xz";
 | 
			
		||||
    sha256 = "04mrms12nm5sas0nxs94yrr3hz7gmqhnmfgb9ff34bh1jszxmzcx";
 | 
			
		||||
    sha256 = "0ppv953gn2zylcagr4z6zg5y2x93dxrml29plypg6xgbq3hrv2bs";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  /* Get the dvorak programmer keymap (present in X but not in kbd) */
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    sha256 = "0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "doc" ];
 | 
			
		||||
 | 
			
		||||
  patches = [ ./force-path.patch ];
 | 
			
		||||
 | 
			
		||||
  # FIXME remove /var/run/current-system/sw/* references
 | 
			
		||||
 | 
			
		||||
@ -21,6 +21,10 @@ let version = "3.0.5";
 | 
			
		||||
    ] ++ optional stdenv.is64bit wiredtiger;
 | 
			
		||||
 | 
			
		||||
    other-args = concatStringsSep " " ([
 | 
			
		||||
      # these are opt-in, lol
 | 
			
		||||
      "--cc-use-shell-environment"
 | 
			
		||||
      "--cxx-use-shell-environment"
 | 
			
		||||
 | 
			
		||||
      "--c++11=on"
 | 
			
		||||
      "--ssl"
 | 
			
		||||
      #"--rocksdb" # Don't have this packaged yet
 | 
			
		||||
@ -47,6 +51,13 @@ in stdenv.mkDerivation rec {
 | 
			
		||||
    # fix environment variable reading
 | 
			
		||||
    substituteInPlace SConstruct \
 | 
			
		||||
        --replace "env = Environment(" "env = Environment(ENV = os.environ,"
 | 
			
		||||
  '' + stdenv.lib.optionalString stdenv.isDarwin ''
 | 
			
		||||
 | 
			
		||||
    substituteInPlace src/third_party/s2/s1angle.cc --replace drem remainder
 | 
			
		||||
    substituteInPlace src/third_party/s2/s1interval.cc --replace drem remainder
 | 
			
		||||
    substituteInPlace src/third_party/s2/s2cap.cc --replace drem remainder
 | 
			
		||||
    substituteInPlace src/third_party/s2/s2latlng.cc --replace drem remainder
 | 
			
		||||
    substituteInPlace src/third_party/s2/s2latlngrect.cc --replace drem remainder
 | 
			
		||||
  '';
 | 
			
		||||
 | 
			
		||||
  buildPhase = ''
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 | 
			
		||||
      patchelf --set-rpath "$out/usr/lib/plexmediaserver" "$out/usr/lib/plexmediaserver/$bin"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    find $out/usr/lib/plexmediaserver/Resources -type f -a -perm +0100 \
 | 
			
		||||
    find $out/usr/lib/plexmediaserver/Resources -type f -a -perm /0100 \
 | 
			
		||||
        -print -exec patchelf --set-interpreter "${glibc}/lib/ld-linux-x86-64.so.2" '{}' \;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -5,11 +5,11 @@
 | 
			
		||||
with stdenv.lib;
 | 
			
		||||
stdenv.mkDerivation rec {
 | 
			
		||||
  name = "mariadb-${version}";
 | 
			
		||||
  version = "10.0.20";
 | 
			
		||||
  version = "10.0.21";
 | 
			
		||||
 | 
			
		||||
  src = fetchurl {
 | 
			
		||||
    url    = "https://downloads.mariadb.org/interstitial/mariadb-${version}/source/mariadb-${version}.tar.gz";
 | 
			
		||||
    sha256 = "0ywb730l68mxvmpik1x2ndbdaaks6dmc17pxspspm5wlqxinjkrs";
 | 
			
		||||
    sha256 = "0i9mzbn35f4lj4y1lqzgbavh5xyx18zfn0ks0nqzvppabkhk56jb";
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  buildInputs = [ cmake ncurses openssl zlib pcre libxml2 boost judy bison libevent ]
 | 
			
		||||
@ -54,7 +54,8 @@ stdenv.mkDerivation rec {
 | 
			
		||||
    "-DWITHOUT_TOKUDB=1"
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  enableParallelBuilding = true;
 | 
			
		||||
  # fails to find lex_token.h sometimes
 | 
			
		||||
  enableParallelBuilding = false;
 | 
			
		||||
 | 
			
		||||
  outputs = [ "out" "lib" ];
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,33 +0,0 @@
 | 
			
		||||
From ec6007e6f7772a90713c9c51c64359229961ce27 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
Date: Sun, 6 Apr 2014 05:32:00 -0700
 | 
			
		||||
Subject: [PATCH] XQuartz: Ensure we wait for the server thread to terminate
 | 
			
		||||
 | 
			
		||||
AKA: XQuartz 2.7.5 doesn't delete its /tmp/.X$d-lock
 | 
			
		||||
 | 
			
		||||
http://xquartz.macosforge.org/trac/ticket/823
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
---
 | 
			
		||||
 hw/xquartz/X11Controller.m | 5 ++---
 | 
			
		||||
 1 file changed, 2 insertions(+), 3 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/hw/xquartz/X11Controller.m b/hw/xquartz/X11Controller.m
 | 
			
		||||
index 5445c6f..022e832 100644
 | 
			
		||||
--- a/hw/xquartz/X11Controller.m
 | 
			
		||||
+++ b/hw/xquartz/X11Controller.m
 | 
			
		||||
@@ -942,9 +942,8 @@ extern char *bundle_id_prefix;
 | 
			
		||||
     /* shutdown the X server, it will exit () for us. */
 | 
			
		||||
     DarwinSendDDXEvent(kXquartzQuit, 0);
 | 
			
		||||
 
 | 
			
		||||
-    /* In case it doesn't, exit anyway after a while. */
 | 
			
		||||
-    remain = 10000000;
 | 
			
		||||
-    while ((remain = usleep(remain)) > 0) ;
 | 
			
		||||
+    /* In case it doesn't, exit anyway after 5s. */
 | 
			
		||||
+    [NSThread sleepForTimeInterval:5.0];
 | 
			
		||||
 
 | 
			
		||||
     exit(1);
 | 
			
		||||
 }
 | 
			
		||||
-- 
 | 
			
		||||
1.9.1
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,78 @@
 | 
			
		||||
From fff30cdea46616eb92f4dd9402ebd27fdb55e13b Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
Date: Sun, 1 Jun 2014 04:29:19 -0700
 | 
			
		||||
Subject: [PATCH 1/6] XQuartz: GLX: Use __glXEnableExtension to build
 | 
			
		||||
 extensions list
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
(cherry picked from commit 3790001ea29658872aebda00a03170e392b47878)
 | 
			
		||||
---
 | 
			
		||||
 hw/xquartz/GL/indirect.c | 37 +++++++++++++++++++++++++++++++------
 | 
			
		||||
 1 file changed, 31 insertions(+), 6 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/hw/xquartz/GL/indirect.c b/hw/xquartz/GL/indirect.c
 | 
			
		||||
index 19b7d86..4e6ab3d 100644
 | 
			
		||||
--- a/hw/xquartz/GL/indirect.c
 | 
			
		||||
+++ b/hw/xquartz/GL/indirect.c
 | 
			
		||||
@@ -52,6 +52,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #include "visualConfigs.h"
 | 
			
		||||
 #include "dri.h"
 | 
			
		||||
+#include "extension_string.h"
 | 
			
		||||
 
 | 
			
		||||
 #include "darwin.h"
 | 
			
		||||
 #define GLAQUA_DEBUG_MSG(msg, args ...) ASL_LOG(ASL_LEVEL_DEBUG, "GLXAqua", \
 | 
			
		||||
@@ -111,6 +112,10 @@ typedef struct __GLXAquaDrawable __GLXAquaDrawable;
 | 
			
		||||
  */
 | 
			
		||||
 struct __GLXAquaScreen {
 | 
			
		||||
     __GLXscreen base;
 | 
			
		||||
+
 | 
			
		||||
+    /* Supported GLX extensions */
 | 
			
		||||
+    unsigned char glx_enable_bits[__GLX_EXT_BYTES];
 | 
			
		||||
+
 | 
			
		||||
     int index;
 | 
			
		||||
     int num_vis;
 | 
			
		||||
 };
 | 
			
		||||
@@ -541,13 +546,33 @@ __glXAquaScreenProbe(ScreenPtr pScreen)
 | 
			
		||||
 
 | 
			
		||||
     screen->base.GLXmajor = 1;
 | 
			
		||||
     screen->base.GLXminor = 4;
 | 
			
		||||
-    screen->base.GLXextensions = strdup("GLX_SGIX_fbconfig "
 | 
			
		||||
-                                        "GLX_SGIS_multisample "
 | 
			
		||||
-                                        "GLX_ARB_multisample "
 | 
			
		||||
-                                        "GLX_EXT_visual_info "
 | 
			
		||||
-                                        "GLX_EXT_import_context ");
 | 
			
		||||
 
 | 
			
		||||
-    /*We may be able to add more GLXextensions at a later time. */
 | 
			
		||||
+    memset(screen->glx_enable_bits, 0, __GLX_EXT_BYTES);
 | 
			
		||||
+
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_visual_info");
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_visual_rating");
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_EXT_import_context");
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_OML_swap_method");
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_SGIX_fbconfig");
 | 
			
		||||
+
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_SGIS_multisample");
 | 
			
		||||
+    __glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_multisample");
 | 
			
		||||
+
 | 
			
		||||
+    //__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_create_context");
 | 
			
		||||
+    //__glXEnableExtension(screen->glx_enable_bits, "GLX_ARB_create_context_profile");
 | 
			
		||||
+
 | 
			
		||||
+    // Generate the GLX extensions string (overrides that set by __glXScreenInit())
 | 
			
		||||
+    {
 | 
			
		||||
+        unsigned int buffer_size =
 | 
			
		||||
+            __glXGetExtensionString(screen->glx_enable_bits, NULL);
 | 
			
		||||
+        if (buffer_size > 0) {
 | 
			
		||||
+            free(screen->base.GLXextensions);
 | 
			
		||||
+
 | 
			
		||||
+            screen->base.GLXextensions = xnfalloc(buffer_size);
 | 
			
		||||
+            __glXGetExtensionString(screen->glx_enable_bits,
 | 
			
		||||
+                                    screen->base.GLXextensions);
 | 
			
		||||
+        }
 | 
			
		||||
+    }
 | 
			
		||||
 
 | 
			
		||||
     return &screen->base;
 | 
			
		||||
 }
 | 
			
		||||
-- 
 | 
			
		||||
2.3.2 (Apple Git-55)
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
From d36a301fb3d0f2c7a3d81cbda3fd21d8d36038e5 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From 91971455ee46b1059de75260ef0d1a45170d8b65 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
Date: Fri, 13 Jan 2012 12:00:57 -0800
 | 
			
		||||
Subject: [PATCH 5000/5004] sdksyms.sh: Use CPPFLAGS, not CFLAGS
 | 
			
		||||
Subject: [PATCH 2/6] sdksyms.sh: Use CPPFLAGS, not CFLAGS
 | 
			
		||||
 | 
			
		||||
CFLAGS can include flags which are not useful to the preprocessor
 | 
			
		||||
or can even cause it to fail.  This fixes a build issue on darwin
 | 
			
		||||
@ -10,31 +10,32 @@ when building for more than one architecture.
 | 
			
		||||
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
Reviewed-by: Keith Packard <keithp@keithp.com>
 | 
			
		||||
---
 | 
			
		||||
 hw/xfree86/Makefile.am | 4 ++--
 | 
			
		||||
 1 file changed, 2 insertions(+), 2 deletions(-)
 | 
			
		||||
 hw/xfree86/Makefile.am | 5 ++---
 | 
			
		||||
 1 file changed, 2 insertions(+), 3 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
 | 
			
		||||
index c3899b5..4f48b85 100644
 | 
			
		||||
index 27f2cc6..d898c43 100644
 | 
			
		||||
--- a/hw/xfree86/Makefile.am
 | 
			
		||||
+++ b/hw/xfree86/Makefile.am
 | 
			
		||||
@@ -38,7 +38,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
 | 
			
		||||
@@ -48,8 +48,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
 | 
			
		||||
 bin_PROGRAMS = Xorg
 | 
			
		||||
 nodist_Xorg_SOURCES = sdksyms.c
 | 
			
		||||
 
 | 
			
		||||
-AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
 | 
			
		||||
+AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
 | 
			
		||||
 INCLUDES = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
 | 
			
		||||
-AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
 | 
			
		||||
+AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
 | 
			
		||||
 	-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
 | 
			
		||||
 	-I$(srcdir)/dri -I$(srcdir)/dri2
 | 
			
		||||
@@ -115,7 +115,7 @@ CLEANFILES = sdksyms.c sdksyms.dep
 | 
			
		||||
 	-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3
 | 
			
		||||
 
 | 
			
		||||
@@ -135,7 +134,7 @@ CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
 | 
			
		||||
 EXTRA_DIST += sdksyms.sh
 | 
			
		||||
 
 | 
			
		||||
 sdksyms.dep sdksyms.c: sdksyms.sh
 | 
			
		||||
-	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(INCLUDES)
 | 
			
		||||
+	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS) $(INCLUDES)
 | 
			
		||||
-	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS)
 | 
			
		||||
+	$(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS)
 | 
			
		||||
 
 | 
			
		||||
 SDKSYMS_DEP = sdksyms.dep
 | 
			
		||||
 include $(SDKSYMS_DEP)
 | 
			
		||||
 -include $(SDKSYMS_DEP)
 | 
			
		||||
-- 
 | 
			
		||||
1.8.4.1
 | 
			
		||||
2.3.2 (Apple Git-55)
 | 
			
		||||
 | 
			
		||||
@ -1,8 +1,8 @@
 | 
			
		||||
From 9ca14507a31338fad40d430445a4a4cb8106bc9b Mon Sep 17 00:00:00 2001
 | 
			
		||||
From fa5c83fe9129c9cd9cde1420a32112ca2f17566c Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
Date: Fri, 30 Apr 2010 13:08:25 -0700
 | 
			
		||||
Subject: [PATCH 5001/5004] Workaround the GC clipping problem in miPaintWindow
 | 
			
		||||
 and add some debugging output.
 | 
			
		||||
Subject: [PATCH 3/6] Workaround the GC clipping problem in miPaintWindow and
 | 
			
		||||
 add some debugging output.
 | 
			
		||||
 | 
			
		||||
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
---
 | 
			
		||||
@ -10,10 +10,10 @@ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
 1 file changed, 94 insertions(+), 10 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/mi/miexpose.c b/mi/miexpose.c
 | 
			
		||||
index 8b7c93f..3e972f7 100644
 | 
			
		||||
index fc4dbc0..5e31b83 100644
 | 
			
		||||
--- a/mi/miexpose.c
 | 
			
		||||
+++ b/mi/miexpose.c
 | 
			
		||||
@@ -489,7 +489,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
 | 
			
		||||
@@ -408,7 +408,8 @@ void RootlessSetPixmapOfAncestors(WindowPtr pWin);
 | 
			
		||||
 void RootlessStartDrawing(WindowPtr pWin);
 | 
			
		||||
 void RootlessDamageRegion(WindowPtr pWin, RegionPtr prgn);
 | 
			
		||||
 Bool IsFramedWindow(WindowPtr pWin);
 | 
			
		||||
@ -23,7 +23,7 @@ index 8b7c93f..3e972f7 100644
 | 
			
		||||
 
 | 
			
		||||
 void
 | 
			
		||||
 miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
@@ -518,23 +519,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
@@ -437,23 +438,37 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
     Bool solid = TRUE;
 | 
			
		||||
     DrawablePtr drawable = &pWin->drawable;
 | 
			
		||||
 
 | 
			
		||||
@ -70,7 +70,7 @@ index 8b7c93f..3e972f7 100644
 | 
			
		||||
         while (pWin->backgroundState == ParentRelative)
 | 
			
		||||
             pWin = pWin->parent;
 | 
			
		||||
 
 | 
			
		||||
@@ -559,6 +574,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
@@ -478,6 +493,18 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
     else {
 | 
			
		||||
         PixmapPtr pixmap;
 | 
			
		||||
 
 | 
			
		||||
@ -89,7 +89,7 @@ index 8b7c93f..3e972f7 100644
 | 
			
		||||
         tile_x_off = drawable->x;
 | 
			
		||||
         tile_y_off = drawable->y;
 | 
			
		||||
 
 | 
			
		||||
@@ -567,6 +594,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
@@ -486,6 +513,12 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
             return;
 | 
			
		||||
         pixmap = (*pScreen->GetWindowPixmap) ((WindowPtr) drawable);
 | 
			
		||||
         drawable = &pixmap->drawable;
 | 
			
		||||
@ -102,7 +102,7 @@ index 8b7c93f..3e972f7 100644
 | 
			
		||||
 #ifdef COMPOSITE
 | 
			
		||||
         draw_x_off = pixmap->screen_x;
 | 
			
		||||
         draw_y_off = pixmap->screen_y;
 | 
			
		||||
@@ -629,6 +662,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
@@ -548,6 +581,57 @@ miPaintWindow(WindowPtr pWin, RegionPtr prgn, int what)
 | 
			
		||||
     ChangeGC(NullClient, pGC, gcmask, gcval);
 | 
			
		||||
     ValidateGC(drawable, pGC);
 | 
			
		||||
 
 | 
			
		||||
@ -161,5 +161,5 @@ index 8b7c93f..3e972f7 100644
 | 
			
		||||
     pbox = RegionRects(prgn);
 | 
			
		||||
     for (i = numRects; --i >= 0; pbox++, prect++) {
 | 
			
		||||
-- 
 | 
			
		||||
1.8.4.1
 | 
			
		||||
2.3.2 (Apple Git-55)
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
From bd9fce8b74f5358e4d7e5ce9b5cdd8fd195bb3fd Mon Sep 17 00:00:00 2001
 | 
			
		||||
From b229a04bde765424542eeba17a7e2bc25785a890 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
Date: Sat, 2 Nov 2013 11:00:23 -0700
 | 
			
		||||
Subject: [PATCH 5004/5004] Use old miTrapezoids and miTriangles routines
 | 
			
		||||
Subject: [PATCH 4/6] Use old miTrapezoids and miTriangles routines
 | 
			
		||||
 | 
			
		||||
Reverts commits:
 | 
			
		||||
    788ccb9a8bcf6a4fb4054c507111eec3338fb969
 | 
			
		||||
@ -19,11 +19,11 @@ Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
 5 files changed, 201 insertions(+), 4 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/fb/fbpict.c b/fb/fbpict.c
 | 
			
		||||
index dc0ca3c..276ff06 100644
 | 
			
		||||
index c8378ad..cafb027 100644
 | 
			
		||||
--- a/fb/fbpict.c
 | 
			
		||||
+++ b/fb/fbpict.c
 | 
			
		||||
@@ -326,10 +326,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
 | 
			
		||||
     ps->Glyphs = miGlyphs;
 | 
			
		||||
@@ -499,10 +499,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
 | 
			
		||||
     ps->UnrealizeGlyph = fbUnrealizeGlyph;
 | 
			
		||||
     ps->CompositeRects = miCompositeRects;
 | 
			
		||||
     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
 | 
			
		||||
-    ps->Trapezoids = fbTrapezoids;
 | 
			
		||||
@ -34,10 +34,10 @@ index dc0ca3c..276ff06 100644
 | 
			
		||||
     return TRUE;
 | 
			
		||||
 }
 | 
			
		||||
diff --git a/render/mipict.c b/render/mipict.c
 | 
			
		||||
index 2e64b20..d21b58a 100644
 | 
			
		||||
index a725104..e14293a 100644
 | 
			
		||||
--- a/render/mipict.c
 | 
			
		||||
+++ b/render/mipict.c
 | 
			
		||||
@@ -595,8 +595,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
 | 
			
		||||
@@ -575,8 +575,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
 | 
			
		||||
     ps->Composite = 0;          /* requires DDX support */
 | 
			
		||||
     ps->Glyphs = miGlyphs;
 | 
			
		||||
     ps->CompositeRects = miCompositeRects;
 | 
			
		||||
@ -49,7 +49,7 @@ index 2e64b20..d21b58a 100644
 | 
			
		||||
     ps->RasterizeTrapezoid = 0; /* requires DDX support */
 | 
			
		||||
     ps->AddTraps = 0;           /* requires DDX support */
 | 
			
		||||
diff --git a/render/mipict.h b/render/mipict.h
 | 
			
		||||
index 9436228..7ee2991 100644
 | 
			
		||||
index 23ce9e8..e0f1d4c 100644
 | 
			
		||||
--- a/render/mipict.h
 | 
			
		||||
+++ b/render/mipict.h
 | 
			
		||||
@@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
 | 
			
		||||
@ -293,5 +293,5 @@ index 922f22a..bdca9ca 100644
 | 
			
		||||
+}
 | 
			
		||||
+
 | 
			
		||||
-- 
 | 
			
		||||
1.8.4.1
 | 
			
		||||
2.3.2 (Apple Git-55)
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
From 07f9e0beaf66ec9de1455a305c87ab642968f3f1 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From a635e397d5830f7f60e3690a1bb36f7a725b915a Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
Date: Fri, 12 Feb 2010 19:48:52 -0800
 | 
			
		||||
Subject: [PATCH 5002/5004] fb: Revert fb changes that broke XQuartz
 | 
			
		||||
Subject: [PATCH 5/6] fb: Revert fb changes that broke XQuartz
 | 
			
		||||
 | 
			
		||||
http://bugs.freedesktop.org/show_bug.cgi?id=26124
 | 
			
		||||
 | 
			
		||||
@ -21,10 +21,10 @@ Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
 | 
			
		||||
 3 files changed, 43 insertions(+), 85 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/fb/fb.h b/fb/fb.h
 | 
			
		||||
index b869d12..895b148 100644
 | 
			
		||||
index ab110f3..59eaac3 100644
 | 
			
		||||
--- a/fb/fb.h
 | 
			
		||||
+++ b/fb/fb.h
 | 
			
		||||
@@ -1686,8 +1686,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
 | 
			
		||||
@@ -1326,8 +1326,7 @@ fbFillRegionSolid(DrawablePtr pDrawable,
 | 
			
		||||
                   RegionPtr pRegion, FbBits and, FbBits xor);
 | 
			
		||||
 
 | 
			
		||||
 extern _X_EXPORT pixman_image_t *image_from_pict(PicturePtr pict,
 | 
			
		||||
@ -35,7 +35,7 @@ index b869d12..895b148 100644
 | 
			
		||||
 extern _X_EXPORT void free_pixman_pict(PicturePtr, pixman_image_t *);
 | 
			
		||||
 
 | 
			
		||||
diff --git a/fb/fbpict.c b/fb/fbpict.c
 | 
			
		||||
index 2804ff4..80c2a91 100644
 | 
			
		||||
index cafb027..6ee63e9 100644
 | 
			
		||||
--- a/fb/fbpict.c
 | 
			
		||||
+++ b/fb/fbpict.c
 | 
			
		||||
@@ -46,23 +46,18 @@ fbComposite(CARD8 op,
 | 
			
		||||
@ -67,7 +67,7 @@ index 2804ff4..80c2a91 100644
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     free_pixman_pict(pSrc, src);
 | 
			
		||||
@@ -293,20 +288,22 @@ create_conical_gradient_image(PictGradient * gradient)
 | 
			
		||||
@@ -289,20 +284,22 @@ create_conical_gradient_image(PictGradient * gradient)
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static pixman_image_t *
 | 
			
		||||
@ -97,8 +97,8 @@ index 2804ff4..80c2a91 100644
 | 
			
		||||
                                      stride * sizeof(FbStride));
 | 
			
		||||
 
 | 
			
		||||
     if (!image)
 | 
			
		||||
@@ -333,57 +330,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
 | 
			
		||||
         if (pict->clientClipType != CT_NONE)
 | 
			
		||||
@@ -321,57 +318,31 @@ create_bits_picture(PicturePtr pict, Bool has_clip, int *xoff, int *yoff)
 | 
			
		||||
         if (pict->clientClip)
 | 
			
		||||
             pixman_image_set_has_client_clip(image, TRUE);
 | 
			
		||||
 
 | 
			
		||||
-        if (*xoff || *yoff)
 | 
			
		||||
@ -159,7 +159,7 @@ index 2804ff4..80c2a91 100644
 | 
			
		||||
     }
 | 
			
		||||
 
 | 
			
		||||
     switch (pict->repeatType) {
 | 
			
		||||
@@ -411,10 +382,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
 | 
			
		||||
@@ -399,10 +370,8 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
 | 
			
		||||
      * as the alpha map for this operation
 | 
			
		||||
      */
 | 
			
		||||
     if (pict->alphaMap && !is_alpha_map) {
 | 
			
		||||
@ -171,7 +171,7 @@ index 2804ff4..80c2a91 100644
 | 
			
		||||
 
 | 
			
		||||
         pixman_image_set_alpha_map(image, alpha_map, pict->alphaOrigin.x,
 | 
			
		||||
                                    pict->alphaOrigin.y);
 | 
			
		||||
@@ -448,8 +417,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
 | 
			
		||||
@@ -436,8 +405,7 @@ set_image_properties(pixman_image_t * image, PicturePtr pict, Bool has_clip,
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static pixman_image_t *
 | 
			
		||||
@ -181,7 +181,7 @@ index 2804ff4..80c2a91 100644
 | 
			
		||||
 {
 | 
			
		||||
     pixman_image_t *image = NULL;
 | 
			
		||||
 
 | 
			
		||||
@@ -457,7 +425,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
 | 
			
		||||
@@ -445,7 +413,7 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
 | 
			
		||||
         return NULL;
 | 
			
		||||
 
 | 
			
		||||
     if (pict->pDrawable) {
 | 
			
		||||
@ -190,7 +190,7 @@ index 2804ff4..80c2a91 100644
 | 
			
		||||
     }
 | 
			
		||||
     else if (pict->pSourcePict) {
 | 
			
		||||
         SourcePict *sp = pict->pSourcePict;
 | 
			
		||||
@@ -475,19 +443,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
 | 
			
		||||
@@ -463,19 +431,17 @@ image_from_pict_internal(PicturePtr pict, Bool has_clip, int *xoff, int *yoff,
 | 
			
		||||
             else if (sp->type == SourcePictTypeConical)
 | 
			
		||||
                 image = create_conical_gradient_image(gradient);
 | 
			
		||||
         }
 | 
			
		||||
@ -312,5 +312,5 @@ index bf82f8f..0145ce9 100644
 | 
			
		||||
 
 | 
			
		||||
         DamageRegionProcessPending(pDst->pDrawable);
 | 
			
		||||
-- 
 | 
			
		||||
1.8.4.1
 | 
			
		||||
2.3.2 (Apple Git-55)
 | 
			
		||||
 | 
			
		||||
@ -1,38 +1,29 @@
 | 
			
		||||
From 4a0444a2773bddc3abbf5305a344001ecfe9378c Mon Sep 17 00:00:00 2001
 | 
			
		||||
From 4c7572abafeac9b2dcd884c444c5a5bae5b302c3 Mon Sep 17 00:00:00 2001
 | 
			
		||||
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
 | 
			
		||||
Date: Tue, 18 Dec 2012 01:03:38 -0800
 | 
			
		||||
Subject: [PATCH 5003/5004] fb: Revert fb changes that broke XQuartz
 | 
			
		||||
Date: Sat, 31 May 2014 13:14:20 -0700
 | 
			
		||||
Subject: [PATCH 6/6] fb: Revert fb changes that broke XQuartz
 | 
			
		||||
 | 
			
		||||
    http://bugs.freedesktop.org/show_bug.cgi?id=26124
 | 
			
		||||
 | 
			
		||||
Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
 | 
			
		||||
Revert "fb: Fix origin of source picture in fbGlyphs"
 | 
			
		||||
Revert "fb: Publish fbGlyphs and fbUnrealizeGlyph"
 | 
			
		||||
 | 
			
		||||
This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
 | 
			
		||||
This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
 | 
			
		||||
This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
 | 
			
		||||
---
 | 
			
		||||
 configure.ac  |   2 +-
 | 
			
		||||
 fb/fb.h       |   3 --
 | 
			
		||||
 fb/fbpict.c   | 153 +---------------------------------------------------------
 | 
			
		||||
 fb/fbpict.c   | 149 +---------------------------------------------------------
 | 
			
		||||
 fb/fbpict.h   |  11 +----
 | 
			
		||||
 fb/fbscreen.c |   1 -
 | 
			
		||||
 4 files changed, 2 insertions(+), 157 deletions(-)
 | 
			
		||||
 4 files changed, 2 insertions(+), 162 deletions(-)
 | 
			
		||||
 | 
			
		||||
diff --git a/configure.ac b/configure.ac
 | 
			
		||||
index 8797df5..99a1e62 100644
 | 
			
		||||
--- a/configure.ac
 | 
			
		||||
+++ b/configure.ac
 | 
			
		||||
@@ -811,7 +811,7 @@ LIBPCIACCESS="pciaccess >= 0.12.901"
 | 
			
		||||
 LIBUDEV="libudev >= 143"
 | 
			
		||||
 LIBSELINUX="libselinux >= 2.0.86"
 | 
			
		||||
 LIBDBUS="dbus-1 >= 1.0"
 | 
			
		||||
-LIBPIXMAN="pixman-1 >= 0.27.2"
 | 
			
		||||
+LIBPIXMAN="pixman-1 >= 0.21.8"
 | 
			
		||||
 
 | 
			
		||||
 dnl Pixman is always required, but we separate it out so we can link
 | 
			
		||||
 dnl specific modules against it
 | 
			
		||||
diff --git a/fb/fb.h b/fb/fb.h
 | 
			
		||||
index 895b148..cc5759c 100644
 | 
			
		||||
index 59eaac3..046b948 100644
 | 
			
		||||
--- a/fb/fb.h
 | 
			
		||||
+++ b/fb/fb.h
 | 
			
		||||
@@ -1344,9 +1344,6 @@ extern _X_EXPORT void
 | 
			
		||||
@@ -1116,9 +1116,6 @@ extern _X_EXPORT void
 | 
			
		||||
 extern _X_EXPORT Bool
 | 
			
		||||
  fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
 | 
			
		||||
 
 | 
			
		||||
@ -43,10 +34,10 @@ index 895b148..cc5759c 100644
 | 
			
		||||
  * fbpixmap.c
 | 
			
		||||
  */
 | 
			
		||||
diff --git a/fb/fbpict.c b/fb/fbpict.c
 | 
			
		||||
index 80c2a91..dc0ca3c 100644
 | 
			
		||||
index 6ee63e9..9c4cc42 100644
 | 
			
		||||
--- a/fb/fbpict.c
 | 
			
		||||
+++ b/fb/fbpict.c
 | 
			
		||||
@@ -65,156 +65,6 @@ fbComposite(CARD8 op,
 | 
			
		||||
@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
 | 
			
		||||
     free_pixman_pict(pDst, dest);
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
@ -70,7 +61,7 @@ index 80c2a91..dc0ca3c 100644
 | 
			
		||||
-	pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
 | 
			
		||||
-}
 | 
			
		||||
-
 | 
			
		||||
-static void
 | 
			
		||||
-void
 | 
			
		||||
-fbGlyphs(CARD8 op,
 | 
			
		||||
-	 PicturePtr pSrc,
 | 
			
		||||
-	 PicturePtr pDst,
 | 
			
		||||
@ -93,7 +84,7 @@ index 80c2a91..dc0ca3c 100644
 | 
			
		||||
-    int xDst = list->xOff, yDst = list->yOff;
 | 
			
		||||
-
 | 
			
		||||
-    miCompositeSourceValidate(pSrc);
 | 
			
		||||
-    
 | 
			
		||||
-
 | 
			
		||||
-    n_glyphs = 0;
 | 
			
		||||
-    for (i = 0; i < nlist; ++i)
 | 
			
		||||
-	n_glyphs += list[i].len;
 | 
			
		||||
@ -102,12 +93,12 @@ index 80c2a91..dc0ca3c 100644
 | 
			
		||||
-	glyphCache = pixman_glyph_cache_create();
 | 
			
		||||
-
 | 
			
		||||
-    pixman_glyph_cache_freeze (glyphCache);
 | 
			
		||||
-    
 | 
			
		||||
-
 | 
			
		||||
-    if (n_glyphs > N_STACK_GLYPHS) {
 | 
			
		||||
-	if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
 | 
			
		||||
-	    goto out;
 | 
			
		||||
-    }
 | 
			
		||||
-    
 | 
			
		||||
-
 | 
			
		||||
-    i = 0;
 | 
			
		||||
-    x = y = 0;
 | 
			
		||||
-    while (nlist--) {
 | 
			
		||||
@ -165,19 +156,15 @@ index 80c2a91..dc0ca3c 100644
 | 
			
		||||
-    if (maskFormat) {
 | 
			
		||||
-	pixman_format_code_t format;
 | 
			
		||||
-	pixman_box32_t extents;
 | 
			
		||||
-	int x, y;
 | 
			
		||||
-
 | 
			
		||||
-	format = maskFormat->format | (maskFormat->depth << 24);
 | 
			
		||||
-
 | 
			
		||||
-	pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
 | 
			
		||||
-
 | 
			
		||||
-	x = extents.x1;
 | 
			
		||||
-	y = extents.y1;
 | 
			
		||||
-
 | 
			
		||||
-	pixman_composite_glyphs(op, srcImage, dstImage, format,
 | 
			
		||||
-				xSrc + srcXoff + xDst, ySrc + srcYoff + yDst,
 | 
			
		||||
-				x, y,
 | 
			
		||||
-				x + dstXoff, y + dstYoff,
 | 
			
		||||
-				xSrc + srcXoff + extents.x1 - xDst, ySrc + srcYoff + extents.y1 - yDst,
 | 
			
		||||
-				extents.x1, extents.y1,
 | 
			
		||||
-				extents.x1 + dstXoff, extents.y1 + dstYoff,
 | 
			
		||||
-				extents.x2 - extents.x1,
 | 
			
		||||
-				extents.y2 - extents.y1,
 | 
			
		||||
-				glyphCache, n_glyphs, pglyphs);
 | 
			
		||||
@ -203,7 +190,7 @@ index 80c2a91..dc0ca3c 100644
 | 
			
		||||
 static pixman_image_t *
 | 
			
		||||
 create_solid_fill_image(PicturePtr pict)
 | 
			
		||||
 {
 | 
			
		||||
@@ -473,8 +323,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
 | 
			
		||||
@@ -461,8 +315,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
 | 
			
		||||
         return FALSE;
 | 
			
		||||
     ps = GetPictureScreen(pScreen);
 | 
			
		||||
     ps->Composite = fbComposite;
 | 
			
		||||
@ -212,9 +199,35 @@ index 80c2a91..dc0ca3c 100644
 | 
			
		||||
+    ps->Glyphs = miGlyphs;
 | 
			
		||||
     ps->CompositeRects = miCompositeRects;
 | 
			
		||||
     ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
 | 
			
		||||
     ps->Trapezoids = fbTrapezoids;
 | 
			
		||||
     ps->AddTraps = fbAddTraps;
 | 
			
		||||
diff --git a/fb/fbpict.h b/fb/fbpict.h
 | 
			
		||||
index 5cb8663..110f32d 100644
 | 
			
		||||
--- a/fb/fbpict.h
 | 
			
		||||
+++ b/fb/fbpict.h
 | 
			
		||||
@@ -65,20 +65,11 @@ fbTrapezoids(CARD8 op,
 | 
			
		||||
              INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
 | 
			
		||||
 
 | 
			
		||||
 extern _X_EXPORT void
 | 
			
		||||
+
 | 
			
		||||
 fbTriangles(CARD8 op,
 | 
			
		||||
             PicturePtr pSrc,
 | 
			
		||||
             PicturePtr pDst,
 | 
			
		||||
             PictFormatPtr maskFormat,
 | 
			
		||||
             INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
 | 
			
		||||
 
 | 
			
		||||
-extern _X_EXPORT void
 | 
			
		||||
-fbGlyphs(CARD8 op,
 | 
			
		||||
-	 PicturePtr pSrc,
 | 
			
		||||
-	 PicturePtr pDst,
 | 
			
		||||
-	 PictFormatPtr maskFormat,
 | 
			
		||||
-	 INT16 xSrc,
 | 
			
		||||
-	 INT16 ySrc, int nlist,
 | 
			
		||||
-	 GlyphListPtr list,
 | 
			
		||||
-	 GlyphPtr *glyphs);
 | 
			
		||||
-
 | 
			
		||||
 #endif                          /* _FBPICT_H_ */
 | 
			
		||||
diff --git a/fb/fbscreen.c b/fb/fbscreen.c
 | 
			
		||||
index f9080a4..7c7d656 100644
 | 
			
		||||
index 71bcc5d..55330fc 100644
 | 
			
		||||
--- a/fb/fbscreen.c
 | 
			
		||||
+++ b/fb/fbscreen.c
 | 
			
		||||
@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
 | 
			
		||||
@ -226,5 +239,5 @@ index f9080a4..7c7d656 100644
 | 
			
		||||
         free(depths[d].vids);
 | 
			
		||||
     free(depths);
 | 
			
		||||
-- 
 | 
			
		||||
1.8.4.1
 | 
			
		||||
2.3.2 (Apple Git-55)
 | 
			
		||||
 | 
			
		||||
@ -2115,11 +2115,11 @@ let
 | 
			
		||||
  }) // {inherit libX11 xproto ;};
 | 
			
		||||
 | 
			
		||||
  xproto = (mkDerivation "xproto" {
 | 
			
		||||
    name = "xproto-7.0.27";
 | 
			
		||||
    name = "xproto-7.0.28";
 | 
			
		||||
    builder = ./builder.sh;
 | 
			
		||||
    src = fetchurl {
 | 
			
		||||
      url = mirror://xorg/individual/proto/xproto-7.0.27.tar.bz2;
 | 
			
		||||
      sha256 = "030ix881p0crnd4bc01nz6cs0afmfv6ivsyyhf0h1j1mnak26vr4";
 | 
			
		||||
      url = mirror://xorg/individual/proto/xproto-7.0.28.tar.bz2;
 | 
			
		||||
      sha256 = "1jpnvm33vi2dar5y5zgz7jjh0m8fpkcxm0f0lbwfx37ns5l5bs19";
 | 
			
		||||
    };
 | 
			
		||||
    buildInputs = [pkgconfig ];
 | 
			
		||||
  }) // {inherit ;};
 | 
			
		||||
 | 
			
		||||
@ -1,11 +0,0 @@
 | 
			
		||||
--- xorgserver/hw/xfree86/common/compiler.h	2014-10-29 23:43:33.000000000 -0700
 | 
			
		||||
+++ xorgserver/hw/xfree86/common/compiler.h.new	2014-10-29 23:47:30.000000000 -0700
 | 
			
		||||
@@ -1352,7 +1352,7 @@
 | 
			
		||||
 
 | 
			
		||||
 #if !defined(__SUNPRO_C)
 | 
			
		||||
 #if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__)
 | 
			
		||||
-#ifdef GCCUSESGAS
 | 
			
		||||
+#if defined(GCCUSESGAS) || defined(__clang__)
 | 
			
		||||
 
 | 
			
		||||
 /*
 | 
			
		||||
  * If gcc uses gas rather than the native assembler, the syntax of these
 | 
			
		||||
@ -1,26 +0,0 @@
 | 
			
		||||
diff -Naur libpciaccess-0.12.1-orig/src/common_interface.c libpciaccess-0.12.1/src/common_interface.c
 | 
			
		||||
--- libpciaccess-0.12.1-orig/src/common_interface.c	2010-07-12 00:32:05.000000000 -0400
 | 
			
		||||
+++ libpciaccess-0.12.1/src/common_interface.c	2011-08-29 00:48:17.000000000 -0400
 | 
			
		||||
@@ -67,6 +67,22 @@
 | 
			
		||||
 # define HTOLE_32(x)   (x)
 | 
			
		||||
 #endif /* Solaris */
 | 
			
		||||
 
 | 
			
		||||
+#elif defined(__APPLE__)
 | 
			
		||||
+
 | 
			
		||||
+#include <architecture/byte_order.h>
 | 
			
		||||
+
 | 
			
		||||
+#if __BYTE_ORDER == __BIG_ENDIAN
 | 
			
		||||
+# define LETOH_16(x)   OSSwapInt16(x)
 | 
			
		||||
+# define HTOLE_16(x)   OSSwapInt16(x)
 | 
			
		||||
+# define LETOH_32(x)   OSSwapInt32(x)
 | 
			
		||||
+# define HTOLE_32(x)   OSSwapInt32(x)
 | 
			
		||||
+#else
 | 
			
		||||
+# define LETOH_16(x)   (x)
 | 
			
		||||
+# define HTOLE_16(x)   (x)
 | 
			
		||||
+# define LETOH_32(x)   (x)
 | 
			
		||||
+# define HTOLE_32(x)   (x)
 | 
			
		||||
+#endif /* darwin */
 | 
			
		||||
+
 | 
			
		||||
 #else
 | 
			
		||||
 
 | 
			
		||||
 #include <sys/endian.h>
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user