Merge branch 'staging'

This commit is contained in:
Domen Kožar 2015-08-25 14:14:54 +02:00
commit e4644a5b58
112 changed files with 1631 additions and 952 deletions

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "4773c0099dba767d963fd92143263be338c48702172e8754b9bc5103efe1c56c";
};
outputs = [ "out" "doc" ];
buildInputs = [ libogg ];
#doCheck = true; # takes lots of time

View File

@ -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" {} \;
'';

View File

@ -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"

View File

@ -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

View File

@ -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 ]

View File

@ -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)

View File

@ -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;

View File

@ -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
}

View File

@ -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

View File

@ -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

View File

@ -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";
})
];

View File

@ -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

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "0w453f3nnkbkrly7spx5lx5pf6mwynzmd5qhszprq8amij2invpa";
};
outputs = [ "out" "doc" ];
configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
buildInputs = [ pkgconfig libxml2 glib ];

View File

@ -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

View 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

View File

@ -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";

View File

@ -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";

View File

@ -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

View File

@ -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
'';

View File

@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux;
setupHook = ./setup-hook.sh;
meta = {

View File

@ -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"}"

View File

@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
linkCxxAbi = stdenv.isLinux;
setupHook = ./setup-hook.sh;
meta = {

View File

@ -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"}"

View File

@ -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

View File

@ -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 = {

View File

@ -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;

View File

@ -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"))

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
};
outputs = [ "out" "man" ];
nativeBuildInputs = [ pkgconfig ];
# Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.

View File

@ -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

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "1xi1v1msz75qs0s4lkyf1psrksdppa3hwkg0mznc6gpw5flg3hdz";
};
outputs = [ "out" "doc" ];
nativeBuildInputs = [ pkgconfig gettext ];
buildInputs = [ expat libiconv ];

View File

@ -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";

View File

@ -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")

View File

@ -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

View File

@ -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 ];
};
}

View File

@ -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";

View File

@ -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";
};
}

View File

@ -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";
};
})

View File

@ -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" ]

View File

@ -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 =

View 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"

View 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:

View 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 ()

View 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

View File

@ -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"

View File

@ -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;

View File

@ -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") )

View File

@ -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

View File

@ -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 ];

View File

@ -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; {

View File

@ -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 ];

View File

@ -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 ];

View File

@ -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;

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
};
outputs = [ "out" "doc" ];
meta = with stdenv.lib; {
homepage = http://xiph.org/ogg/;
license = licenses.bsd3;

View File

@ -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 = {

View File

@ -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

View File

@ -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 ];

View File

@ -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)

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal";
};
outputs = [ "out" "doc" ];
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ libogg ];

View File

@ -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 ];

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "13029baw9kkyjgr7q3jccw2mz38amq7mmpr5p3bh775qawd1bisz";
};
outputs = [ "out" "doc" ];
buildInputs = [ libxml2 ];
propagatedBuildInputs = [ findXMLCatalogs ];

View File

@ -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 ];
};
}

View File

@ -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*

View File

@ -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"

View File

@ -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;

View File

@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
sha256 = "17bqykp604p7376wj3q2nmjdhrb6v1ny8q08zdwi7qvc02l9wrsi";
};
outputs = [ "out" "doc" "man" ];
configureFlags = ''
--enable-jit
${if unicodeSupport then "--enable-unicode-properties" else ""}

View File

@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
inherit sha256;
};
outputs = [ "out" "doc" ];
patches = [ ./datadir_env.patch ];
propagatedBuildInputs = with stdenv.lib;

View File

@ -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/;

View File

@ -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/;

View File

@ -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 = "";

View 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

View File

@ -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^"

View File

@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv";
};
outputs = [ "out" "doc" ];
configureFlags = "--disable-introspection";
buildInputs = [ python pkgconfig glib ];

View File

@ -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;

View File

@ -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

View File

@ -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 ];

View File

@ -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

View 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";
};
}

View File

@ -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 = {

View File

@ -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 = {

View File

@ -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 ];

View File

@ -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) */

View File

@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify";
};
outputs = [ "out" "doc" ];
patches = [ ./force-path.patch ];
# FIXME remove /var/run/current-system/sw/* references

View File

@ -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 = ''

View File

@ -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" '{}' \;

View File

@ -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" ];

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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 ;};

View File

@ -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

View File

@ -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