Merge branch 'master' into staging

This commit is contained in:
Vladimír Čunát
2016-09-24 18:54:31 +02:00
235 changed files with 5781 additions and 2834 deletions

View File

@@ -18,44 +18,46 @@ let ccache = stdenv.mkDerivation rec {
doCheck = !stdenv.isDarwin;
passthru = let
cc = stdenv.cc.cc;
ccname = if stdenv.cc.isClang then "clang" else "gcc";
cxxname = if stdenv.cc.isClang then "clang++" else "g++";
unwrappedCC = stdenv.cc.cc;
in {
# A derivation that provides gcc and g++ commands, but that
# will end up calling ccache for the given cacheDir
links = extraConfig: stdenv.mkDerivation rec {
name = "ccache-links";
passthru = {
inherit (stdenv.cc) isClang;
inherit (cc) isGNU;
isClang = unwrappedCC.isClang or false;
isGNU = unwrappedCC.isGNU or false;
};
inherit (cc) lib;
inherit (unwrappedCC) lib;
buildCommand = ''
mkdir -p $out/bin
if [ -x "${cc}/bin/${ccname}" ]; then
cat > $out/bin/${ccname} << EOF
#!/bin/sh
${extraConfig}
exec ${ccache}/bin/ccache ${cc}/bin/${ccname} "\$@"
wrap() {
local cname="$1"
if [ -x "${unwrappedCC}/bin/$cname" ]; then
cat > $out/bin/$cname << EOF
#!/bin/sh
${extraConfig}
exec ${ccache}/bin/ccache ${unwrappedCC}/bin/$cname "\$@"
EOF
chmod +x $out/bin/${ccname}
fi
if [ -x "${cc}/bin/${cxxname}" ]; then
cat > $out/bin/${cxxname} << EOF
#!/bin/sh
${extraConfig}
exec ${ccache}/bin/ccache ${cc}/bin/${cxxname} "\$@"
EOF
chmod +x $out/bin/${cxxname}
fi
for executable in $(ls ${cc}/bin); do
chmod +x $out/bin/$cname
fi
}
wrap cc
wrap c++
wrap gcc
wrap g++
wrap clang
wrap clang++
for executable in $(ls ${unwrappedCC}/bin); do
if [ ! -x "$out/bin/$executable" ]; then
ln -s ${cc}/bin/$executable $out/bin/$executable
ln -s ${unwrappedCC}/bin/$executable $out/bin/$executable
fi
done
for file in $(ls ${cc} | grep -vw bin); do
ln -s ${cc}/$file $out/$file
for file in $(ls ${unwrappedCC} | grep -vw bin); do
ln -s ${unwrappedCC}/$file $out/$file
done
'';
};

View File

@@ -1,29 +1,28 @@
{ fetchurl, stdenv, ncurses, pkgconfig, emacs}:
{ fetchurl, stdenv, ncurses
, emacsSupport ? true, emacs
}:
stdenv.mkDerivation rec {
name = "cscope-15.8a";
name = "cscope-15.8b";
src = fetchurl {
url = "mirror://sourceforge/cscope/${name}.tar.gz";
sha256 = "07jdhxvp3dv7acvp0pwsdab1g2ncxjlcf838lj7vxgjs1p26lwzb";
sha256 = "1byk29rcpyygrnr03h5j3y8j0aqxldd9dr5ihi9q982sy28x12a8";
};
preConfigure = ''
sed -i "contrib/xcscope/cscope-indexer" \
-"es|^PATH=.*$|PATH=\"$out/bin:\$PATH\"|g"
sed -i "contrib/xcscope/xcscope.el" \
-"es|\"cscope-indexer\"|\"$out/libexec/cscope/cscope-indexer\"|g";
'';
configureFlags = "--with-ncurses=${ncurses.dev}";
buildInputs = [ ncurses ];
nativeBuildInputs = [ pkgconfig emacs ];
nativeBuildInputs = stdenv.lib.optional emacsSupport emacs;
postInstall = ''
# Install Emacs mode.
postInstall = stdenv.lib.optionalString emacsSupport ''
cd "contrib/xcscope"
sed -i "cscope-indexer" \
-"es|^PATH=.*$|PATH=\"$out/bin:\$PATH\"|g"
sed -i "xcscope.el" \
-"es|\"cscope-indexer\"|\"$out/libexec/cscope/cscope-indexer\"|g";
mkdir -p "$out/libexec/cscope"
cp "cscope-indexer" "$out/libexec/cscope"

View File

@@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub, autoreconfHook }:
stdenv.mkDerivation rec {
name = "patchelf-0.10-pre-20160920";
src = fetchFromGitHub {
owner = "NixOS";
repo = "patchelf";
rev = "327d80443672c397970738f9e216a7e86cbf3ad7";
sha256 = "0nghzywda4jrj70gvn4dnrzasafgdp0basj04wfir1smvsi047zr";
};
setupHook = [ ./setup-hook.sh ];
buildInputs = [ autoreconfHook ];
doCheck = true;
meta = {
homepage = http://nixos.org/patchelf.html;
license = "GPL";
description = "A small utility to modify the dynamic linker and RPATH of ELF executables";
maintainers = [ stdenv.lib.maintainers.eelco ];
platforms = stdenv.lib.platforms.all;
};
}