mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-29 10:23:29 +00:00
suitable clang stdenv
This commit is contained in:
parent
e3fd4499ef
commit
3e8344d334
@ -3,12 +3,12 @@
|
|||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "vim-${version}";
|
name = "vim-${version}";
|
||||||
|
|
||||||
version = "7.4.335";
|
version = "7.4.410";
|
||||||
|
|
||||||
src = fetchhg {
|
src = fetchhg {
|
||||||
url = "https://vim.googlecode.com/hg/";
|
url = "https://vim.googlecode.com/hg/";
|
||||||
rev = "v7-4-335";
|
rev = "v7-4-410";
|
||||||
sha256 = "0qnpzfcbi6fhz82pj68l4vrnigca1akq2ksrxz6krwlfhns6jhhj";
|
sha256 = "145llhj6gq2bh9b7p8xkxc388krrximq80b87f3cn4w4d4k9fhqp";
|
||||||
};
|
};
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
{ stdenv, stdenvAdapters, gccApple, fetchFromGitHub, ncurses, gettext,
|
{ stdenv, stdenvAdapters, fetchFromGitHub, ncurses, gettext,
|
||||||
pkgconfig, cscope, python, ruby, tcl, perl, luajit
|
pkgconfig, cscope, python, ruby, tcl, perl, luajit
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let inherit (stdenvAdapters.overrideGCC stdenv gccApple) mkDerivation;
|
stdenv.mkDerivation rec {
|
||||||
in mkDerivation rec {
|
|
||||||
name = "macvim-${version}";
|
name = "macvim-${version}";
|
||||||
|
|
||||||
version = "7.4.355";
|
version = "7.4.355";
|
||||||
|
@ -15,7 +15,7 @@ assert httpServer -> httpd != null;
|
|||||||
assert pythonBindings -> swig != null && python != null;
|
assert pythonBindings -> swig != null && python != null;
|
||||||
assert javahlBindings -> jdk != null && perl != null;
|
assert javahlBindings -> jdk != null && perl != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
version = "1.8.10";
|
version = "1.8.10";
|
||||||
|
|
||||||
@ -73,14 +73,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
# Hack to build on Mac OS X. The system header files use C99-style
|
|
||||||
# comments, but Subversion passes -std=c90.
|
|
||||||
NIX_CFLAGS_COMPILE = "-std=c99";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
|
description = "A version control system intended to be a compelling replacement for CVS in the open source community";
|
||||||
homepage = http://subversion.apache.org/;
|
homepage = http://subversion.apache.org/;
|
||||||
maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
|
maintainers = with stdenv.lib.maintainers; [ eelco lovek323 ];
|
||||||
hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
hydraPlatforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
|
||||||
};
|
};
|
||||||
}
|
} // stdenv.lib.optionalAttrs stdenv.isDarwin {
|
||||||
|
CXX = "clang++";
|
||||||
|
CC = "clang";
|
||||||
|
CPP = "clang -E";
|
||||||
|
CXXCPP = "clang++ -E";
|
||||||
|
})
|
||||||
|
@ -214,6 +214,10 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
|
|||||||
configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
|
configureFlags+=" --ghc-option=-j$NIX_BUILD_CORES"
|
||||||
''}
|
''}
|
||||||
|
|
||||||
|
${optionalString self.stdenv.isDarwin ''
|
||||||
|
configureFlags+=" --with-gcc=clang"
|
||||||
|
''}
|
||||||
|
|
||||||
echo "configure flags: $extraConfigureFlags $configureFlags"
|
echo "configure flags: $extraConfigureFlags $configureFlags"
|
||||||
./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
|
./Setup configure --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
|
||||||
--libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \
|
--libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \
|
||||||
@ -236,6 +240,7 @@ assert !enableStaticLibraries -> versionOlder "7.7" ghc.version;
|
|||||||
|
|
||||||
export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
|
export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
|
||||||
test -n "$noHaddock" || ./Setup haddock --html --hoogle \
|
test -n "$noHaddock" || ./Setup haddock --html --hoogle \
|
||||||
|
--ghc-options=-optP-P \
|
||||||
${optionalString self.hyperlinkSource "--hyperlink-source"}
|
${optionalString self.hyperlinkSource "--hyperlink-source"}
|
||||||
|
|
||||||
eval "$postBuild"
|
eval "$postBuild"
|
||||||
|
@ -28,9 +28,15 @@ if test -z "$nativeLibc"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if test -n "$nativeTools"; then
|
if test -n "$nativeTools"; then
|
||||||
|
if [ -n "$isDarwin" ]; then
|
||||||
|
clangPath="$clang/bin"
|
||||||
|
else
|
||||||
clangPath="$nativePrefix/bin"
|
clangPath="$nativePrefix/bin"
|
||||||
|
fi
|
||||||
ldPath="$nativePrefix/bin"
|
ldPath="$nativePrefix/bin"
|
||||||
else
|
else
|
||||||
|
clangLDFlags=""
|
||||||
|
if test -d "$gcc/lib"; then
|
||||||
basePath=`echo $gcc/lib/*/*/*`
|
basePath=`echo $gcc/lib/*/*/*`
|
||||||
# Need libgcc until the llvm compiler-rt library is complete
|
# Need libgcc until the llvm compiler-rt library is complete
|
||||||
clangLDFlags="$clangLDFlags -L$basePath"
|
clangLDFlags="$clangLDFlags -L$basePath"
|
||||||
@ -39,9 +45,15 @@ else
|
|||||||
else
|
else
|
||||||
clangLDFlags="$clangLDFlags -L$gcc/lib"
|
clangLDFlags="$clangLDFlags -L$gcc/lib"
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if test -d "$clang/lib"; then
|
||||||
clangLDFlags="$clangLDFlags -L$clang/lib"
|
clangLDFlags="$clangLDFlags -L$clang/lib"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -n "$clangLDFlags" ]; then
|
||||||
echo "$clangLDFlags" > $out/nix-support/clang-ldflags
|
echo "$clangLDFlags" > $out/nix-support/clang-ldflags
|
||||||
|
fi
|
||||||
|
|
||||||
# Need files like crtbegin.o from gcc
|
# Need files like crtbegin.o from gcc
|
||||||
# It's unclear if these will ever be provided by an LLVM project
|
# It's unclear if these will ever be provided by an LLVM project
|
||||||
@ -50,8 +62,8 @@ else
|
|||||||
clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include"
|
clangCFlags="$clangCFlags -isystem$clang/lib/clang/$clangVersion/include"
|
||||||
echo "$clangCFlags" > $out/nix-support/clang-cflags
|
echo "$clangCFlags" > $out/nix-support/clang-cflags
|
||||||
|
|
||||||
clangPath="$clang/bin"
|
|
||||||
ldPath="$binutils/bin"
|
ldPath="$binutils/bin"
|
||||||
|
clangPath="$clang/bin"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@ -125,6 +137,10 @@ test -n "$libc" && echo $libc > $out/nix-support/orig-libc
|
|||||||
doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
|
doSubstitute "$addFlags" "$out/nix-support/add-flags.sh"
|
||||||
|
|
||||||
doSubstitute "$setupHook" "$out/nix-support/setup-hook"
|
doSubstitute "$setupHook" "$out/nix-support/setup-hook"
|
||||||
|
cat >> "$out/nix-support/setup-hook" << EOF
|
||||||
|
export CC=clang
|
||||||
|
export CXX=clang++
|
||||||
|
EOF
|
||||||
|
|
||||||
cp -p $utils $out/nix-support/utils.sh
|
cp -p $utils $out/nix-support/utils.sh
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ stdenv.mkDerivation {
|
|||||||
(if name != "" then name else clangName + "-wrapper") +
|
(if name != "" then name else clangName + "-wrapper") +
|
||||||
(if clang != null && clangVersion != "" then "-" + clangVersion else "");
|
(if clang != null && clangVersion != "" then "-" + clangVersion else "");
|
||||||
|
|
||||||
|
isDarwin = stdenv.isDarwin;
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
clangWrapper = ./clang-wrapper.sh;
|
clangWrapper = ./clang-wrapper.sh;
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
, gmp ? null, mpfr ? null, bison ? null, flex ? null
|
, gmp ? null, mpfr ? null, bison ? null, flex ? null
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert false;
|
||||||
assert stdenv.isDarwin;
|
assert stdenv.isDarwin;
|
||||||
assert langF77 -> gmp != null;
|
assert langF77 -> gmp != null;
|
||||||
|
|
||||||
|
@ -62,7 +62,8 @@ stdenv.mkDerivation rec {
|
|||||||
'' else "");
|
'' else "");
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include
|
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib --with-gmp-includes=${gmp}/include \
|
||||||
|
--with-clang
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Stripping combined with patchelf breaks the executables (they die
|
# Stripping combined with patchelf breaks the executables (they die
|
||||||
|
93
pkgs/development/compilers/ghc/7.8.3-binary.nix
Normal file
93
pkgs/development/compilers/ghc/7.8.3-binary.nix
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
{stdenv, fetchurl, perl, ncurses, gmp}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
version = "7.8.3";
|
||||||
|
|
||||||
|
name = "ghc-${version}-binary";
|
||||||
|
|
||||||
|
src =
|
||||||
|
if stdenv.system == "i686-linux" then
|
||||||
|
fetchurl {
|
||||||
|
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-unknown-linux.tar.bz2";
|
||||||
|
sha256 = "0gny7knhss0w0d9r6jm1gghrcb8kqjvj94bb7hxf9syrk4fxlcxi";
|
||||||
|
}
|
||||||
|
else if stdenv.system == "x86_64-linux" then
|
||||||
|
fetchurl {
|
||||||
|
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-unknown-linux.tar.bz2";
|
||||||
|
sha256 = "043jabd0lh6n1zlqhysngbpvlsdznsa2mmsj08jyqgahw9sjb5ns";
|
||||||
|
}
|
||||||
|
else if stdenv.system == "i686-darwin" then
|
||||||
|
fetchurl {
|
||||||
|
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-i386-apple-darwin.tar.bz2";
|
||||||
|
sha256 = "1vrbs3pzki37hzym1f1nh07lrqh066z3ypvm81fwlikfsvk4djc0";
|
||||||
|
}
|
||||||
|
else if stdenv.system == "x86_64-darwin" then
|
||||||
|
fetchurl {
|
||||||
|
url = "http://haskell.org/ghc/dist/${version}/ghc-${version}-x86_64-apple-darwin.tar.bz2";
|
||||||
|
sha256 = "1ja0cq5xyjcvjpvjmm4nzhkpmwfs2kjlldbc48lxcs9rmqi7rnay";
|
||||||
|
}
|
||||||
|
else throw "cannot bootstrap GHC on this platform";
|
||||||
|
|
||||||
|
buildInputs = [perl];
|
||||||
|
|
||||||
|
postUnpack =
|
||||||
|
# Strip is harmful, see also below. It's important that this happens
|
||||||
|
# first. The GHC Cabal build system makes use of strip by default and
|
||||||
|
# has hardcoded paths to /usr/bin/strip in many places. We replace
|
||||||
|
# those below, making them point to our dummy script.
|
||||||
|
''
|
||||||
|
mkdir "$TMP/bin"
|
||||||
|
for i in strip; do
|
||||||
|
echo '#! ${stdenv.shell}' > "$TMP/bin/$i"
|
||||||
|
chmod +x "$TMP/bin/$i"
|
||||||
|
done
|
||||||
|
PATH="$TMP/bin:$PATH"
|
||||||
|
'' +
|
||||||
|
# We have to patch the GMP paths for the integer-gmp package.
|
||||||
|
''
|
||||||
|
find . -name integer-gmp.buildinfo \
|
||||||
|
-exec sed -i "s@extra-lib-dirs: @extra-lib-dirs: ${gmp}/lib@" {} \;
|
||||||
|
'' +
|
||||||
|
# On Linux, use patchelf to modify the executables so that they can
|
||||||
|
# find editline/gmp.
|
||||||
|
(if stdenv.isLinux then ''
|
||||||
|
find . -type f -perm +100 \
|
||||||
|
-exec patchelf --interpreter "$(cat $NIX_GCC/nix-support/dynamic-linker)" \
|
||||||
|
--set-rpath "${ncurses}/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
|
||||||
|
find . -name "setup-config" -exec sed -i "s@/usr/bin/$prog@$(type -p $prog)@g" {} \;
|
||||||
|
done
|
||||||
|
'' else "");
|
||||||
|
|
||||||
|
configurePhase = ''
|
||||||
|
./configure --prefix=$out --with-gmp-libraries=${gmp}/lib \
|
||||||
|
--with-gmp-includes=${gmp}/include
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Stripping combined with patchelf breaks the executables (they die
|
||||||
|
# with a segfault or the kernel even refuses the execve). (NIXPKGS-85)
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
# No building is necessary, but calling make without flags ironically
|
||||||
|
# calls install-strip ...
|
||||||
|
buildPhase = "true";
|
||||||
|
|
||||||
|
postInstall =
|
||||||
|
''
|
||||||
|
# Sanity check, can ghc create executables?
|
||||||
|
cd $TMP
|
||||||
|
mkdir test-ghc; cd test-ghc
|
||||||
|
cat > main.hs << EOF
|
||||||
|
module Main where
|
||||||
|
main = putStrLn "yes"
|
||||||
|
EOF
|
||||||
|
$out/bin/ghc --make main.hs
|
||||||
|
echo compilation ok
|
||||||
|
[ $(./main) == "yes" ]
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta.license = stdenv.lib.licenses.bsd3;
|
||||||
|
meta.platforms = ["x86_64-linux" "i686-linux" "i686-darwin" "x86_64-darwin"];
|
||||||
|
}
|
@ -26,8 +26,6 @@ stdenv.mkDerivation rec {
|
|||||||
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
|
export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configureFlags = "--with-gcc=${stdenv.gcc}/bin/gcc";
|
|
||||||
|
|
||||||
# required, because otherwise all symbols from HSffi.o are stripped, and
|
# required, because otherwise all symbols from HSffi.o are stripped, and
|
||||||
# that in turn causes GHCi to abort
|
# that in turn causes GHCi to abort
|
||||||
stripDebugFlags = [ "-S" "--keep-file-symbols" ];
|
stripDebugFlags = [ "-S" "--keep-file-symbols" ];
|
||||||
|
@ -1,5 +1,9 @@
|
|||||||
{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
|
{ stdenv, fetchurl, perl, groff, llvm, cmake, libxml2, python }:
|
||||||
|
|
||||||
|
# be sure not to rebuild clang on darwin; some packages request it specifically
|
||||||
|
# we need to fix those
|
||||||
|
assert stdenv.isDarwin -> stdenv.gcc.nativeTools;
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "3.3";
|
version = "3.3";
|
||||||
gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
|
gccReal = if (stdenv.gcc.gcc or null) == null then stdenv.gcc else stdenv.gcc.gcc;
|
||||||
|
14
pkgs/development/interpreters/guile/clang.patch
Normal file
14
pkgs/development/interpreters/guile/clang.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
|
||||||
|
index 889bca7..15d39b0 100644
|
||||||
|
--- a/lib/stdint.in.h
|
||||||
|
+++ b/lib/stdint.in.h
|
||||||
|
@@ -74,7 +74,8 @@
|
||||||
|
in <inttypes.h> would reinclude us, skipping our contents because
|
||||||
|
_@GUARD_PREFIX@_STDINT_H is defined.
|
||||||
|
The include_next requires a split double-inclusion guard. */
|
||||||
|
-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
|
||||||
|
+# include <inttypes.h>
|
||||||
|
+// # @INCLUDE_NEXT@ @NEXT_STDINT_H@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ! defined _@GUARD_PREFIX@_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
|
@ -7,11 +7,11 @@
|
|||||||
else stdenv.mkDerivation)
|
else stdenv.mkDerivation)
|
||||||
|
|
||||||
(rec {
|
(rec {
|
||||||
name = "guile-2.0.9";
|
name = "guile-2.0.11";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://gnu/guile/${name}.tar.xz";
|
url = "mirror://gnu/guile/${name}.tar.xz";
|
||||||
sha256 = "0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp";
|
sha256 = "1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
|
nativeBuildInputs = [ makeWrapper gawk pkgconfig ];
|
||||||
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ] ++
|
patches = [ ./disable-gc-sensitive-tests.patch ./eai_system.patch ./clang.patch ] ++
|
||||||
(stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
|
(stdenv.lib.optional (coverageAnalysis != null) ./gcov-file-name.patch);
|
||||||
|
|
||||||
# Explicitly link against libgcc_s, to work around the infamous
|
# Explicitly link against libgcc_s, to work around the infamous
|
||||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
|||||||
configurePhase =
|
configurePhase =
|
||||||
if stdenv.isDarwin
|
if stdenv.isDarwin
|
||||||
then ''
|
then ''
|
||||||
makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" )
|
makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=macosx CFLAGS="-DLUA_USE_LINUX -fno-common -O2" LDFLAGS="" CC=clang )
|
||||||
installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
|
installFlagsArray=( TO_BIN="lua luac" TO_LIB="liblua.5.1.5.dylib" INSTALL_DATA='cp -d' )
|
||||||
'' else ''
|
'' else ''
|
||||||
makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" )
|
makeFlagsArray=( INSTALL_TOP=$out INSTALL_MAN=$out/share/man/man1 PLAT=linux CFLAGS="-DLUA_USE_LINUX -O2 -fPIC" LDFLAGS="-fPIC" )
|
||||||
|
@ -32,7 +32,6 @@ stdenv.mkDerivation rec {
|
|||||||
# Miniperl needs -lm. perl needs -lrt.
|
# Miniperl needs -lm. perl needs -lrt.
|
||||||
configureFlags =
|
configureFlags =
|
||||||
[ "-de"
|
[ "-de"
|
||||||
"-Dcc=gcc"
|
|
||||||
"-Uinstallusrbinperl"
|
"-Uinstallusrbinperl"
|
||||||
"-Dinstallstyle=lib/perl5"
|
"-Dinstallstyle=lib/perl5"
|
||||||
"-Duseshrplib"
|
"-Duseshrplib"
|
||||||
|
@ -49,6 +49,8 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
installFlags = stdenv.lib.optionalString docSupport "install-doc";
|
installFlags = stdenv.lib.optionalString docSupport "install-doc";
|
||||||
|
|
||||||
|
CFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-mmacosx-version-min=10.7";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# Bundler tries to create this directory
|
# Bundler tries to create this directory
|
||||||
mkdir -pv $out/${passthru.gemPath}
|
mkdir -pv $out/${passthru.gemPath}
|
||||||
|
18
pkgs/development/libraries/aspell/clang.patch
Normal file
18
pkgs/development/libraries/aspell/clang.patch
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
--- interfaces/cc/aspell.h 2013-10-13 20:29:33.000000000 +0200
|
||||||
|
+++ interfaces/cc/aspell.h 2013-10-13 20:30:01.000000000 +0200
|
||||||
|
@@ -237,6 +237,7 @@
|
||||||
|
/******************************** errors ********************************/
|
||||||
|
|
||||||
|
|
||||||
|
+#ifndef __cplusplus
|
||||||
|
extern const struct AspellErrorInfo * const aerror_other;
|
||||||
|
extern const struct AspellErrorInfo * const aerror_operation_not_supported;
|
||||||
|
extern const struct AspellErrorInfo * const aerror_cant_copy;
|
||||||
|
@@ -322,6 +323,7 @@
|
||||||
|
extern const struct AspellErrorInfo * const aerror_bad_magic;
|
||||||
|
extern const struct AspellErrorInfo * const aerror_expression;
|
||||||
|
extern const struct AspellErrorInfo * const aerror_invalid_expression;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
|
||||||
|
/******************************* speller *******************************/
|
@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
|
sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
patch interfaces/cc/aspell.h < ${./clang.patch}
|
||||||
|
'';
|
||||||
|
|
||||||
buildInputs = [ perl ];
|
buildInputs = [ perl ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
patches = extraPatches;
|
patches = extraPatches;
|
||||||
|
|
||||||
|
patchPhase = ''
|
||||||
|
patch src/dbinc/atomic.h < ${./osx.patch}
|
||||||
|
'';
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
|
(if cxxSupport then "--enable-cxx" else "--disable-cxx")
|
||||||
(if compat185 then "--enable-compat185" else "--disable-compat185")
|
(if compat185 then "--enable-compat185" else "--disable-compat185")
|
||||||
|
20
pkgs/development/libraries/db/osx.patch
Normal file
20
pkgs/development/libraries/db/osx.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- src/dbinc/atomic.h 2013-03-12 14:07:22.000000000 -0400
|
||||||
|
+++ src/dbinc/atomic.h.change 2013-03-12 14:06:35.000000000 -0400
|
||||||
|
@@ -144,7 +144,7 @@
|
||||||
|
#define atomic_inc(env, p) __atomic_inc(p)
|
||||||
|
#define atomic_dec(env, p) __atomic_dec(p)
|
||||||
|
#define atomic_compare_exchange(env, p, o, n) \
|
||||||
|
- __atomic_compare_exchange((p), (o), (n))
|
||||||
|
+ __atomic_compare_exchange_db((p), (o), (n))
|
||||||
|
static inline int __atomic_inc(db_atomic_t *p)
|
||||||
|
{
|
||||||
|
int temp;
|
||||||
|
@@ -176,7 +176,7 @@
|
||||||
|
* http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins.html
|
||||||
|
* which configure could be changed to use.
|
||||||
|
*/
|
||||||
|
-static inline int __atomic_compare_exchange(
|
||||||
|
+static inline int __atomic_compare_exchange_db(
|
||||||
|
db_atomic_t *p, atomic_value_t oldval, atomic_value_t newval)
|
||||||
|
{
|
||||||
|
atomic_value_t was;
|
@ -16,10 +16,13 @@ stdenv.mkDerivation (rec {
|
|||||||
# Build a "fat binary", with routines for several sub-architectures
|
# Build a "fat binary", with routines for several sub-architectures
|
||||||
# (x86), except on Solaris where some tests crash with "Memory fault".
|
# (x86), except on Solaris where some tests crash with "Memory fault".
|
||||||
# See <http://hydra.nixos.org/build/2760931>, for instance.
|
# See <http://hydra.nixos.org/build/2760931>, for instance.
|
||||||
|
#
|
||||||
|
# no darwin because gmp uses ASM that clang doesn't like
|
||||||
optional (!stdenv.isSunOS) "--enable-fat"
|
optional (!stdenv.isSunOS) "--enable-fat"
|
||||||
++ (if cxx then [ "--enable-cxx" ]
|
++ (if cxx then [ "--enable-cxx" ]
|
||||||
else [ "--disable-cxx" ])
|
else [ "--disable-cxx" ])
|
||||||
++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
|
++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
|
||||||
|
++ optional stdenv.isDarwin "ABI=64 CC=clang"
|
||||||
++ optional stdenv.is64bit "--with-pic"
|
++ optional stdenv.is64bit "--with-pic"
|
||||||
;
|
;
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
|||||||
NROFF = "${groff}/bin/nroff";
|
NROFF = "${groff}/bin/nroff";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
|
sed -i ${stdenv.lib.optionalString (stdenv.isDarwin && stdenv.gcc.nativeTools) "''"} s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# taken from gentoo http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libedit/files/
|
# taken from gentoo http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/libedit/files/
|
||||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
postInstall =
|
postInstall =
|
||||||
# Install headers in the right place.
|
# Install headers in the right place.
|
||||||
'' ln -s${if stdenv.isFreeBSD then "" else "r"}v "$out/lib/"libffi*/include "$out/include"
|
'' ln -s${if stdenv.isBSD then "" else "r"}v "$out/lib/"libffi*/include "$out/include"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -10,6 +10,8 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = [ libgpgerror ];
|
propagatedBuildInputs = [ libgpgerror ];
|
||||||
|
|
||||||
|
configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-asm";
|
||||||
|
|
||||||
doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18
|
doCheck = stdenv.system != "i686-linux"; # "basic" test fails after stdenv+glibc-2.18
|
||||||
|
|
||||||
# For some reason the tests don't find `libgpg-error.so'.
|
# For some reason the tests don't find `libgpg-error.so'.
|
||||||
|
14
pkgs/development/libraries/libunistring/clang.patch
Normal file
14
pkgs/development/libraries/libunistring/clang.patch
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
diff --git a/lib/stdint.in.h b/lib/stdint.in.h
|
||||||
|
index 997e406..e0827f5 100644
|
||||||
|
--- a/lib/stdint.in.h
|
||||||
|
+++ b/lib/stdint.in.h
|
||||||
|
@@ -53,7 +53,8 @@
|
||||||
|
in <inttypes.h> would reinclude us, skipping our contents because
|
||||||
|
_GL_STDINT_H is defined.
|
||||||
|
The include_next requires a split double-inclusion guard. */
|
||||||
|
-# @INCLUDE_NEXT@ @NEXT_STDINT_H@
|
||||||
|
+# include <inttypes.h>
|
||||||
|
+// # @INCLUDE_NEXT@ @NEXT_STDINT_H@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ! defined _GL_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
|
@ -8,6 +8,8 @@ stdenv.mkDerivation (rec {
|
|||||||
sha256 = "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1";
|
sha256 = "18q620269xzpw39dwvr9zpilnl2dkw5z5kz3mxaadnpv4k3kw3b1";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
patches = stdenv.lib.optional stdenv.isDarwin [ ./clang.patch ];
|
||||||
|
|
||||||
propagatedBuildInputs =
|
propagatedBuildInputs =
|
||||||
stdenv.lib.optional ((! (stdenv ? glibc))
|
stdenv.lib.optional ((! (stdenv ? glibc))
|
||||||
|| (stdenv ? cross &&
|
|| (stdenv ? cross &&
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, stdenvAdapters, gccApple, fetchurl, pkgconfig, intltool, flex, bison
|
{ stdenv, stdenvAdapters, fetchurl, pkgconfig, intltool, flex, bison
|
||||||
, python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau
|
, python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau
|
||||||
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
|
, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
|
||||||
, enableExtraFeatures ? false # not maintained
|
, enableExtraFeatures ? false # not maintained
|
||||||
|
42
pkgs/development/libraries/ncurses/clang.patch
Normal file
42
pkgs/development/libraries/ncurses/clang.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
diff -ruNp ncurses-5.8.orig/c++/cursesf.h ncurses-5.8/c++/cursesf.h
|
||||||
|
--- ncurses-5.8.orig/c++/cursesf.h 2005-08-13 21:08:24.000000000 +0300
|
||||||
|
+++ ncurses-5.8/c++/cursesf.h 2011-04-03 18:29:29.000000000 +0300
|
||||||
|
@@ -681,7 +681,7 @@ public:
|
||||||
|
const T* p_UserData = STATIC_CAST(T*)(0),
|
||||||
|
bool with_frame=FALSE,
|
||||||
|
bool autoDelete_Fields=FALSE)
|
||||||
|
- : NCursesForm (Fields, with_frame, autoDelete_Fields) {
|
||||||
|
+ : NCursesForm (&Fields, with_frame, autoDelete_Fields) {
|
||||||
|
if (form)
|
||||||
|
set_user (const_cast<void *>(p_UserData));
|
||||||
|
};
|
||||||
|
@@ -694,7 +694,7 @@ public:
|
||||||
|
const T* p_UserData = STATIC_CAST(T*)(0),
|
||||||
|
bool with_frame=FALSE,
|
||||||
|
bool autoDelete_Fields=FALSE)
|
||||||
|
- : NCursesForm (Fields, nlines, ncols, begin_y, begin_x,
|
||||||
|
+ : NCursesForm (&Fields, nlines, ncols, begin_y, begin_x,
|
||||||
|
with_frame, autoDelete_Fields) {
|
||||||
|
if (form)
|
||||||
|
set_user (const_cast<void *>(p_UserData));
|
||||||
|
diff -ruNp ncurses-5.8.orig/c++/cursesm.h ncurses-5.8/c++/cursesm.h
|
||||||
|
--- ncurses-5.8.orig/c++/cursesm.h 2005-08-13 21:10:36.000000000 +0300
|
||||||
|
+++ ncurses-5.8/c++/cursesm.h 2011-04-03 18:31:42.000000000 +0300
|
||||||
|
@@ -639,7 +639,7 @@ public:
|
||||||
|
const T* p_UserData = STATIC_CAST(T*)(0),
|
||||||
|
bool with_frame=FALSE,
|
||||||
|
bool autoDelete_Items=FALSE)
|
||||||
|
- : NCursesMenu (Items, with_frame, autoDelete_Items) {
|
||||||
|
+ : NCursesMenu (&Items, with_frame, autoDelete_Items) {
|
||||||
|
if (menu)
|
||||||
|
set_user (const_cast<void *>(p_UserData));
|
||||||
|
};
|
||||||
|
@@ -651,7 +651,7 @@ public:
|
||||||
|
int begin_x = 0,
|
||||||
|
const T* p_UserData = STATIC_CAST(T*)(0),
|
||||||
|
bool with_frame=FALSE)
|
||||||
|
- : NCursesMenu (Items, nlines, ncols, begin_y, begin_x, with_frame) {
|
||||||
|
+ : NCursesMenu (&Items, nlines, ncols, begin_y, begin_x, with_frame) {
|
||||||
|
if (menu)
|
||||||
|
set_user (const_cast<void *>(p_UserData));
|
||||||
|
};
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
|||||||
sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
|
sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./patch-ac ];
|
patches = [ ./patch-ac ./clang.patch ];
|
||||||
|
|
||||||
configureFlags = ''
|
configureFlags = ''
|
||||||
--with-shared --without-debug --enable-pc-files --enable-symlinks
|
--with-shared --without-debug --enable-pc-files --enable-symlinks
|
||||||
@ -35,8 +35,6 @@ stdenv.mkDerivation rec {
|
|||||||
export configureFlags="$configureFlags --includedir=$out/include"
|
export configureFlags="$configureFlags --includedir=$out/include"
|
||||||
export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
|
export PKG_CONFIG_LIBDIR="$out/lib/pkgconfig"
|
||||||
mkdir -p "$PKG_CONFIG_LIBDIR"
|
mkdir -p "$PKG_CONFIG_LIBDIR"
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
|
||||||
substituteInPlace configure --replace -no-cpp-precomp ""
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
selfNativeBuildInput = true;
|
selfNativeBuildInput = true;
|
||||||
|
13
pkgs/development/libraries/readline/clang.patch
Normal file
13
pkgs/development/libraries/readline/clang.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/support/shobj-conf b/support/shobj-conf
|
||||||
|
index 5a63e80..4b2a741 100644
|
||||||
|
--- support/shobj-conf
|
||||||
|
+++ support/shobj-conf
|
||||||
|
@@ -189,7 +189,7 @@ darwin*|macosx*)
|
||||||
|
darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
|
||||||
|
SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||||
|
;;
|
||||||
|
- *) SHOBJ_LDFLAGS='-dynamic'
|
||||||
|
+ *) SHOBJ_LDFLAGS='-dynamiclib'
|
||||||
|
SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
|
||||||
|
;;
|
||||||
|
esac
|
@ -10,10 +10,15 @@ stdenv.mkDerivation (rec {
|
|||||||
|
|
||||||
propagatedBuildInputs = [ncurses];
|
propagatedBuildInputs = [ncurses];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
export CC=clang
|
||||||
|
'';
|
||||||
|
|
||||||
patchFlags = "-p0";
|
patchFlags = "-p0";
|
||||||
patches =
|
patches =
|
||||||
[ ./link-against-ncurses.patch
|
[ ./link-against-ncurses.patch
|
||||||
./no-arch_only.patch
|
./no-arch_only.patch
|
||||||
|
./clang.patch
|
||||||
]
|
]
|
||||||
++
|
++
|
||||||
(let
|
(let
|
||||||
|
@ -18,9 +18,13 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \
|
scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr}"/bin/*-config)" \
|
||||||
APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${stdenv.gcc}/bin/gcc"
|
APU="$(echo "${aprutil}"/bin/*-config)" GSSAPI="${krb5}" CC="${
|
||||||
|
if stdenv.isDarwin then "clang" else "${stdenv.gcc}/bin/gcc"
|
||||||
|
}"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-L/usr/lib";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
scons install
|
scons install
|
||||||
'';
|
'';
|
||||||
|
@ -15,7 +15,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
configureFlags = if static then "" else "--shared";
|
configureFlags = if static then "" else "--shared";
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
|
||||||
|
export CC=clang
|
||||||
|
'' + ''
|
||||||
if test -n "$crossConfig"; then
|
if test -n "$crossConfig"; then
|
||||||
export CC=$crossConfig-gcc
|
export CC=$crossConfig-gcc
|
||||||
configureFlags=${if static then "" else "--shared"}
|
configureFlags=${if static then "" else "--shared"}
|
||||||
|
@ -3,6 +3,10 @@
|
|||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "distcc-masq-${gccRaw.name}";
|
name = "distcc-masq-${gccRaw.name}";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
};
|
||||||
|
|
||||||
phases = [ "installPhase" ];
|
phases = [ "installPhase" ];
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
|
@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
|
|||||||
++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
|
++ optional (elem stdenv.system (with platforms; linux ++ freebsd)) "--with-file-aio";
|
||||||
|
|
||||||
|
|
||||||
additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations";
|
additionalFlags = optionalString stdenv.isDarwin "-Wno-error=deprecated-declarations -Wno-error=conditional-uninitialized";
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
|
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${libxml2}/include/libxml2 $additionalFlags"
|
||||||
|
@ -75,6 +75,7 @@ in
|
|||||||
# Remove useless DocBook XML files.
|
# Remove useless DocBook XML files.
|
||||||
rm -rf $out/share/doc
|
rm -rf $out/share/doc
|
||||||
'';
|
'';
|
||||||
|
CPP = stdenv.lib.optionalString stdenv.isDarwin "clang -E -";
|
||||||
};
|
};
|
||||||
|
|
||||||
libXfont = attrs: attrs // {
|
libXfont = attrs: attrs // {
|
||||||
|
47
pkgs/stdenv/darwin/default.nix
Normal file
47
pkgs/stdenv/darwin/default.nix
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
{ stdenv, pkgs, config }:
|
||||||
|
|
||||||
|
import ../generic rec {
|
||||||
|
inherit config;
|
||||||
|
|
||||||
|
preHook =
|
||||||
|
''
|
||||||
|
export NIX_ENFORCE_PURITY=
|
||||||
|
export NIX_IGNORE_LD_THROUGH_GCC=1
|
||||||
|
export NIX_DONT_SET_RPATH=1
|
||||||
|
export NIX_NO_SELF_RPATH=1
|
||||||
|
dontFixLibtool=1
|
||||||
|
stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
|
||||||
|
xargsFlags=" "
|
||||||
|
export MACOSX_DEPLOYMENT_TARGET=10.6
|
||||||
|
export SDKROOT=$(/usr/bin/xcrun --show-sdk-path 2> /dev/null || true)
|
||||||
|
export NIX_CFLAGS_COMPILE+=" --sysroot=/var/empty -idirafter $SDKROOT/usr/include -F$SDKROOT/System/Library/Frameworks -Wno-multichar -Wno-deprecated-declarations"
|
||||||
|
export NIX_LDFLAGS_AFTER+=" -L$SDKROOT/usr/lib"
|
||||||
|
'';
|
||||||
|
|
||||||
|
initialPath = (import ../common-path.nix) {pkgs = pkgs;};
|
||||||
|
|
||||||
|
system = stdenv.system;
|
||||||
|
|
||||||
|
gcc = import ../../build-support/clang-wrapper {
|
||||||
|
nativeTools = false;
|
||||||
|
nativePrefix = stdenv.lib.optionalString stdenv.isSunOS "/usr";
|
||||||
|
nativeLibc = true;
|
||||||
|
inherit stdenv;
|
||||||
|
binutils = import ../../build-support/native-darwin-cctools-wrapper {inherit stdenv;};
|
||||||
|
clang = pkgs.clang_34;
|
||||||
|
coreutils = pkgs.coreutils;
|
||||||
|
shell = pkgs.bash + "/bin/sh";
|
||||||
|
};
|
||||||
|
|
||||||
|
shell = pkgs.bash + "/bin/sh";
|
||||||
|
|
||||||
|
fetchurlBoot = stdenv.fetchurlBoot;
|
||||||
|
|
||||||
|
overrides = pkgs_: {
|
||||||
|
inherit gcc;
|
||||||
|
inherit (gcc) binutils;
|
||||||
|
inherit (pkgs)
|
||||||
|
gzip bzip2 xz bash coreutils diffutils findutils gawk
|
||||||
|
gnumake gnused gnutar gnugrep gnupatch perl;
|
||||||
|
};
|
||||||
|
}
|
@ -33,6 +33,12 @@ rec {
|
|||||||
pkgs = stdenvNativePkgs;
|
pkgs = stdenvNativePkgs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
stdenvDarwin = import ./darwin {
|
||||||
|
inherit config;
|
||||||
|
stdenv = stdenvNative;
|
||||||
|
pkgs = stdenvNativePkgs;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
# Linux standard environment.
|
# Linux standard environment.
|
||||||
stdenvLinux = (import ./linux { inherit system allPackages platform config;}).stdenvLinux;
|
stdenvLinux = (import ./linux { inherit system allPackages platform config;}).stdenvLinux;
|
||||||
@ -47,7 +53,7 @@ rec {
|
|||||||
if system == "armv7l-linux" then stdenvLinux else
|
if system == "armv7l-linux" then stdenvLinux else
|
||||||
if system == "mips64el-linux" then stdenvLinux else
|
if system == "mips64el-linux" then stdenvLinux else
|
||||||
if system == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
|
if system == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
|
||||||
if system == "x86_64-darwin" then stdenvNix else
|
if system == "x86_64-darwin" then stdenvDarwin else
|
||||||
if system == "x86_64-solaris" then stdenvNix else
|
if system == "x86_64-solaris" then stdenvNix else
|
||||||
stdenvNative;
|
stdenvNative;
|
||||||
}
|
}
|
||||||
|
@ -163,7 +163,8 @@ let
|
|||||||
isBSD = system == "i686-freebsd"
|
isBSD = system == "i686-freebsd"
|
||||||
|| system == "x86_64-freebsd"
|
|| system == "x86_64-freebsd"
|
||||||
|| system == "i686-openbsd"
|
|| system == "i686-openbsd"
|
||||||
|| system == "x86_64-openbsd";
|
|| system == "x86_64-openbsd"
|
||||||
|
|| system == "x86_64-darwin";
|
||||||
isi686 = system == "i686-linux"
|
isi686 = system == "i686-linux"
|
||||||
|| system == "i686-gnu"
|
|| system == "i686-gnu"
|
||||||
|| system == "i686-freebsd"
|
|| system == "i686-freebsd"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, fetchurl, gettext }:
|
{ stdenv, fetchurl, gettext, coreutils }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sharutils-4.11.1";
|
name = "sharutils-4.11.1";
|
||||||
@ -12,11 +12,11 @@ stdenv.mkDerivation rec {
|
|||||||
''
|
''
|
||||||
# Fix for building on Glibc 2.16. Won't be needed once the
|
# Fix for building on Glibc 2.16. Won't be needed once the
|
||||||
# gnulib in sharutils is updated.
|
# gnulib in sharutils is updated.
|
||||||
sed -i '/gets is a security hole/d' lib/stdio.in.h
|
sed -i ${stdenv.lib.optionalString (stdenv.isBSD && stdenv.gcc.nativeTools) "''"} '/gets is a security hole/d' lib/stdio.in.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# GNU Gettext is needed on non-GNU platforms.
|
# GNU Gettext is needed on non-GNU platforms.
|
||||||
buildInputs = [ gettext ];
|
buildInputs = [ gettext coreutils ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
|
|
||||||
|
@ -7,4 +7,6 @@ stdenv.mkDerivation {
|
|||||||
url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz;
|
url = http://tarballs.nixos.org/getopt-1.1.4.tar.gz;
|
||||||
md5 = "02188ca68da27c4175d6e9f3da732101";
|
md5 = "02188ca68da27c4175d6e9f3da732101";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
buildFlags = stdenv.lib.optional stdenv.isDarwin [ "CC=clang" ];
|
||||||
}
|
}
|
||||||
|
13
pkgs/tools/security/gnupg/clang.patch
Normal file
13
pkgs/tools/security/gnupg/clang.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/gl/stdint_.h b/gl/stdint_.h
|
||||||
|
index bc27595..303e81a 100644
|
||||||
|
--- a/gl/stdint_.h
|
||||||
|
+++ b/gl/stdint_.h
|
||||||
|
@@ -62,7 +62,7 @@
|
||||||
|
int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
|
||||||
|
<inttypes.h> also defines intptr_t and uintptr_t. */
|
||||||
|
# define _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
|
||||||
|
-# include <inttypes.h>
|
||||||
|
+// # include <inttypes.h>
|
||||||
|
# undef _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H
|
||||||
|
#elif @HAVE_SYS_INTTYPES_H@
|
||||||
|
/* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
|
@ -31,6 +31,7 @@ stdenv.mkDerivation rec {
|
|||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
|
find tests -type f | xargs sed -e 's@/bin/pwd@${coreutils}&@g' -i
|
||||||
find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/'
|
find . -name pcsc-wrapper.c | xargs sed -i 's/typedef unsinged int pcsc_dword_t/typedef unsigned int pcsc_dword_t/'
|
||||||
|
patch gl/stdint_.h < ${./clang.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check";
|
checkPhase="GNUPGHOME=`pwd` ./agent/gpg-agent --daemon make check";
|
||||||
|
@ -37,6 +37,7 @@ stdenv.mkDerivation {
|
|||||||
prefix=$out
|
prefix=$out
|
||||||
MANDIR=$out/share/man/man1
|
MANDIR=$out/share/man/man1
|
||||||
${systemFlags}
|
${systemFlags}
|
||||||
|
CC=clang
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
13
pkgs/tools/typesetting/tex/tetex/clang.patch
Normal file
13
pkgs/tools/typesetting/tex/tetex/clang.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/texk/ps2pkm/type1.c b/texk/ps2pkm/type1.c
|
||||||
|
index 027bf1f..4dcbad0 100644
|
||||||
|
--- a/texk/ps2pkm/type1.c
|
||||||
|
+++ b/texk/ps2pkm/type1.c
|
||||||
|
@@ -800,7 +800,7 @@ static void PSFakePush(Num)
|
||||||
|
static DOUBLE PSFakePop ()
|
||||||
|
{
|
||||||
|
if (PSFakeTop >= 0) return(PSFakeStack[PSFakeTop--]);
|
||||||
|
- else Error0("PSFakePop : Stack empty\n");
|
||||||
|
+ else { CC; IfTrace0(TRUE, "PSFakePop : Stack empty\n"); errflag = TRUE; return 0; }
|
||||||
|
/*NOTREACHED*/
|
||||||
|
}
|
||||||
|
|
@ -20,7 +20,7 @@ stdenv.mkDerivation {
|
|||||||
sed -i 57d texk/kpathsea/c-std.h
|
sed -i 57d texk/kpathsea/c-std.h
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [ ./environment.patch ./getline.patch ];
|
patches = [ ./environment.patch ./getline.patch ./clang.patch ];
|
||||||
|
|
||||||
setupHook = ./setup-hook.sh;
|
setupHook = ./setup-hook.sh;
|
||||||
|
|
||||||
|
@ -231,8 +231,6 @@ let
|
|||||||
else
|
else
|
||||||
defaultStdenv;
|
defaultStdenv;
|
||||||
|
|
||||||
stdenvApple = stdenvAdapters.overrideGCC allStdenvs.stdenvNative gccApple;
|
|
||||||
|
|
||||||
forceNativeDrv = drv : if crossSystem == null then drv else
|
forceNativeDrv = drv : if crossSystem == null then drv else
|
||||||
(drv // { crossDrv = drv.nativeDrv; });
|
(drv // { crossDrv = drv.nativeDrv; });
|
||||||
|
|
||||||
@ -2686,8 +2684,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
clangUnwrapped = llvm: pkg: callPackage pkg {
|
clangUnwrapped = llvm: pkg: callPackage pkg {
|
||||||
stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
|
inherit stdenv llvm;
|
||||||
inherit llvm;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
clangSelf = clangWrapSelf llvmPackagesSelf.clang;
|
clangSelf = clangWrapSelf llvmPackagesSelf.clang;
|
||||||
@ -2704,7 +2701,7 @@ let
|
|||||||
};
|
};
|
||||||
|
|
||||||
#Use this instead of stdenv to build with clang
|
#Use this instead of stdenv to build with clang
|
||||||
clangStdenv = lowPrio (stdenvAdapters.overrideGCC stdenv clang);
|
clangStdenv = if stdenv.isDarwin then stdenv else lowPrio (stdenvAdapters.overrideGCC stdenv clang);
|
||||||
libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang);
|
libcxxStdenv = stdenvAdapters.overrideGCC stdenv (clangWrapSelf llvmPackages.clang);
|
||||||
|
|
||||||
clean = callPackage ../development/compilers/clean { };
|
clean = callPackage ../development/compilers/clean { };
|
||||||
@ -2912,16 +2909,6 @@ let
|
|||||||
else null;
|
else null;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
gccApple =
|
|
||||||
assert stdenv.isDarwin;
|
|
||||||
wrapGCC (makeOverridable (import ../development/compilers/gcc/4.2-apple64) {
|
|
||||||
inherit fetchurl noSysDirs;
|
|
||||||
profiledCompiler = true;
|
|
||||||
# Since it fails to build with GCC 4.6, build it with the "native"
|
|
||||||
# Apple-GCC.
|
|
||||||
stdenv = allStdenvs.stdenvNative;
|
|
||||||
});
|
|
||||||
|
|
||||||
gfortran = gfortran48;
|
gfortran = gfortran48;
|
||||||
|
|
||||||
gfortran48 = wrapGCC (gcc48.gcc.override {
|
gfortran48 = wrapGCC (gcc48.gcc.override {
|
||||||
@ -3216,9 +3203,7 @@ let
|
|||||||
llvm_34 = llvmPackages_34.llvm;
|
llvm_34 = llvmPackages_34.llvm;
|
||||||
llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix;
|
llvm_33 = llvm_v ../development/compilers/llvm/3.3/llvm.nix;
|
||||||
|
|
||||||
llvm_v = path: callPackage path {
|
llvm_v = path: callPackage path { };
|
||||||
stdenv = if stdenv.isDarwin then stdenvApple else stdenv;
|
|
||||||
};
|
|
||||||
|
|
||||||
llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // {
|
llvmPackages = if !stdenv.isDarwin then llvmPackages_34 else llvmPackages_34 // {
|
||||||
# until someone solves build problems with _34
|
# until someone solves build problems with _34
|
||||||
@ -3956,7 +3941,7 @@ let
|
|||||||
bam = callPackage ../development/tools/build-managers/bam {};
|
bam = callPackage ../development/tools/build-managers/bam {};
|
||||||
|
|
||||||
binutils = if stdenv.isDarwin
|
binutils = if stdenv.isDarwin
|
||||||
then stdenv.gcc.binutils
|
then import ../build-support/native-darwin-cctools-wrapper {inherit stdenv;}
|
||||||
else callPackage ../development/tools/misc/binutils {
|
else callPackage ../development/tools/misc/binutils {
|
||||||
inherit noSysDirs;
|
inherit noSysDirs;
|
||||||
};
|
};
|
||||||
@ -4097,7 +4082,9 @@ let
|
|||||||
wrapGCC (distcc.links extraConfig)) {};
|
wrapGCC (distcc.links extraConfig)) {};
|
||||||
distccStdenv = lowPrio (overrideGCC stdenv distccWrapper);
|
distccStdenv = lowPrio (overrideGCC stdenv distccWrapper);
|
||||||
|
|
||||||
distccMasquerade = callPackage ../development/tools/misc/distcc/masq.nix {
|
distccMasquerade = if stdenv.isDarwin
|
||||||
|
then null
|
||||||
|
else callPackage ../development/tools/misc/distcc/masq.nix {
|
||||||
gccRaw = gcc.gcc;
|
gccRaw = gcc.gcc;
|
||||||
binutils = binutils;
|
binutils = binutils;
|
||||||
};
|
};
|
||||||
|
@ -204,6 +204,8 @@
|
|||||||
gmp = pkgs.gmp4;
|
gmp = pkgs.gmp4;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
ghc783Binary = lowPrio (callPackage ../development/compilers/ghc/7.8.3-binary.nix {});
|
||||||
|
|
||||||
ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
|
ghc6101BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6101Binary;
|
||||||
ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
|
ghc6121BinaryDarwin = if stdenv.isDarwin then ghc704Binary else ghc6121Binary;
|
||||||
|
|
||||||
@ -224,7 +226,7 @@
|
|||||||
|
|
||||||
packages_ghc783 =
|
packages_ghc783 =
|
||||||
packages { ghcPath = ../development/compilers/ghc/7.8.3.nix;
|
packages { ghcPath = ../development/compilers/ghc/7.8.3.nix;
|
||||||
ghcBinary = ghc742Binary;
|
ghcBinary = ghc783Binary;
|
||||||
prefFun = ghc783Prefs;
|
prefFun = ghc783Prefs;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user