Merge pull request #30549 from obsidiansystems/bintools
treewide: Introduce stdenv.cc.bintools
This commit is contained in:
commit
0101856765
|
@ -184,7 +184,7 @@
|
||||||
For now, feel free to use either method.
|
For now, feel free to use either method.
|
||||||
</para>
|
</para>
|
||||||
<note><para>
|
<note><para>
|
||||||
There is also a "backlink" <varname>__targetPackages</varname>, yielding a package set whose <varname>buildPackages</varname> is the current package set.
|
There is also a "backlink" <varname>targetPackages</varname>, yielding a package set whose <varname>buildPackages</varname> is the current package set.
|
||||||
This is a hack, though, to accommodate compilers with lousy build systems.
|
This is a hack, though, to accommodate compilers with lousy build systems.
|
||||||
Please do not use this unless you are absolutely sure you are packaging such a compiler and there is no other way.
|
Please do not use this unless you are absolutely sure you are packaging such a compiler and there is no other way.
|
||||||
</para></note>
|
</para></note>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ config, stdenv, fetchgit, makeWrapper, gnome3, at_spi2_core, libcxx,
|
{ config, stdenv, fetchgit, makeWrapper, gnome3, at_spi2_core, libcxx,
|
||||||
boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
|
boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
|
||||||
libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts,
|
libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts,
|
||||||
coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, binutils, ctags }:
|
coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, ctags }:
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv $out/bin/juci $out/bin/.juci
|
mv $out/bin/juci $out/bin/.juci
|
||||||
makeWrapper "$out/bin/.juci" "$out/bin/juci" \
|
makeWrapper "$out/bin/.juci" "$out/bin/juci" \
|
||||||
--set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake binutils llvmPackages.clang ]}" \
|
--set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake llvmPackages.clang.bintools llvmPackages.clang ]}" \
|
||||||
--set NO_AT_BRIDGE 1 \
|
--set NO_AT_BRIDGE 1 \
|
||||||
--set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
|
--set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -97,6 +97,11 @@ stdenv.mkDerivation {
|
||||||
outputs = [ "out" "man" ];
|
outputs = [ "out" "man" ];
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
# "cc" is the generic name for a C compiler, but there is no one for package
|
||||||
|
# providing the linker and related tools. The two we use now are GNU
|
||||||
|
# Binutils, and Apple's "cctools"; "binutils" as an attempt to find an
|
||||||
|
# unused middle-ground name that evokes both.
|
||||||
|
bintools = binutils_bin;
|
||||||
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile
|
inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile
|
||||||
prefix;
|
prefix;
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langJava ? false
|
, langJava ? false
|
||||||
, langAda ? false
|
, langAda ? false
|
||||||
|
@ -77,8 +77,8 @@ let version = "4.5.4";
|
||||||
withCpu +
|
withCpu +
|
||||||
withAbi +
|
withAbi +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -229,7 +229,7 @@ stdenv.mkDerivation ({
|
||||||
++ (optional langJava boehmgc)
|
++ (optional langJava boehmgc)
|
||||||
++ (optionals langJava [zip unzip])
|
++ (optionals langJava [zip unzip])
|
||||||
++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs))
|
++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
;
|
;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, noSysDirs
|
{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? targetPlatform.isDarwin
|
, langObjC ? targetPlatform.isDarwin
|
||||||
, langObjCpp ? targetPlatform.isDarwin
|
, langObjCpp ? targetPlatform.isDarwin
|
||||||
|
@ -153,8 +153,8 @@ let version = "4.8.5";
|
||||||
withFloat +
|
withFloat +
|
||||||
withMode +
|
withMode +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -303,7 +303,7 @@ stdenv.mkDerivation ({
|
||||||
++ (optional (zlib != null) zlib)
|
++ (optional (zlib != null) zlib)
|
||||||
++ (optionals langJava [ boehmgc zip unzip ])
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? targetPlatform.isDarwin
|
, langObjC ? targetPlatform.isDarwin
|
||||||
, langObjCpp ? targetPlatform.isDarwin
|
, langObjCpp ? targetPlatform.isDarwin
|
||||||
|
@ -144,8 +144,8 @@ let version = "4.9.4";
|
||||||
withFloat +
|
withFloat +
|
||||||
withMode +
|
withMode +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -296,7 +296,7 @@ stdenv.mkDerivation ({
|
||||||
++ (optional (zlib != null) zlib)
|
++ (optional (zlib != null) zlib)
|
||||||
++ (optionals langJava [ boehmgc zip unzip ])
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? targetPlatform.isDarwin
|
, langObjC ? targetPlatform.isDarwin
|
||||||
, langObjCpp ? targetPlatform.isDarwin
|
, langObjCpp ? targetPlatform.isDarwin
|
||||||
|
@ -31,7 +31,6 @@
|
||||||
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
||||||
, stripped ? true
|
, stripped ? true
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, binutils ? null
|
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
, buildPlatform, hostPlatform, targetPlatform
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
|
@ -51,7 +50,7 @@ assert libelf != null -> zlib != null;
|
||||||
assert hostPlatform.isDarwin -> gnused != null;
|
assert hostPlatform.isDarwin -> gnused != null;
|
||||||
|
|
||||||
# Need c++filt on darwin
|
# Need c++filt on darwin
|
||||||
assert hostPlatform.isDarwin -> binutils != null;
|
assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
|
||||||
|
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
@ -149,8 +148,8 @@ let version = "5.5.0";
|
||||||
withFloat +
|
withFloat +
|
||||||
withMode +
|
withMode +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -312,7 +311,7 @@ stdenv.mkDerivation ({
|
||||||
++ (optional (zlib != null) zlib)
|
++ (optional (zlib != null) zlib)
|
||||||
++ (optionals langJava [ boehmgc zip unzip ])
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals (buildPlatform != hostPlatform) [buildPackages.stdenv.cc])
|
++ (optionals (buildPlatform != hostPlatform) [buildPackages.stdenv.cc])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
|
@ -320,7 +319,7 @@ stdenv.mkDerivation ({
|
||||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
++ (optional hostPlatform.isDarwin binutils)
|
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
|
||||||
;
|
;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? targetPlatform.isDarwin
|
, langObjC ? targetPlatform.isDarwin
|
||||||
, langObjCpp ? targetPlatform.isDarwin
|
, langObjCpp ? targetPlatform.isDarwin
|
||||||
|
@ -31,7 +31,6 @@
|
||||||
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
||||||
, stripped ? true
|
, stripped ? true
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, binutils ? null
|
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
, buildPlatform, hostPlatform, targetPlatform
|
, buildPlatform, hostPlatform, targetPlatform
|
||||||
|
@ -50,7 +49,7 @@ assert libelf != null -> zlib != null;
|
||||||
assert hostPlatform.isDarwin -> gnused != null;
|
assert hostPlatform.isDarwin -> gnused != null;
|
||||||
|
|
||||||
# Need c++filt on darwin
|
# Need c++filt on darwin
|
||||||
assert hostPlatform.isDarwin -> binutils != null;
|
assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
|
||||||
|
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
@ -145,8 +144,8 @@ let version = "6.4.0";
|
||||||
withFloat +
|
withFloat +
|
||||||
withMode +
|
withMode +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -309,14 +308,14 @@ stdenv.mkDerivation ({
|
||||||
++ (optional (zlib != null) zlib)
|
++ (optional (zlib != null) zlib)
|
||||||
++ (optionals langJava [ boehmgc zip unzip ])
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
|
|
||||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
++ (optional hostPlatform.isDarwin binutils)
|
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
|
||||||
;
|
;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? targetPlatform.isDarwin
|
, langObjC ? targetPlatform.isDarwin
|
||||||
, langObjCpp ? targetPlatform.isDarwin
|
, langObjCpp ? targetPlatform.isDarwin
|
||||||
|
@ -31,7 +31,6 @@
|
||||||
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
||||||
, stripped ? true
|
, stripped ? true
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, binutils ? null
|
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
, flex ? null
|
, flex ? null
|
||||||
|
@ -51,7 +50,7 @@ assert libelf != null -> zlib != null;
|
||||||
assert hostPlatform.isDarwin -> gnused != null;
|
assert hostPlatform.isDarwin -> gnused != null;
|
||||||
|
|
||||||
# Need c++filt on darwin
|
# Need c++filt on darwin
|
||||||
assert hostPlatform.isDarwin -> binutils != null;
|
assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
|
||||||
|
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
@ -144,8 +143,8 @@ let version = "7.2.0";
|
||||||
withFloat +
|
withFloat +
|
||||||
withMode +
|
withMode +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -308,14 +307,14 @@ stdenv.mkDerivation ({
|
||||||
++ (optional (zlib != null) zlib)
|
++ (optional (zlib != null) zlib)
|
||||||
++ (optionals langJava [ boehmgc zip unzip ])
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
|
|
||||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
++ (optional hostPlatform.isDarwin binutils)
|
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
|
||||||
;
|
;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, noSysDirs
|
{ stdenv, targetPackages, fetchurl, noSysDirs
|
||||||
, langC ? true, langCC ? true, langFortran ? false
|
, langC ? true, langCC ? true, langFortran ? false
|
||||||
, langObjC ? targetPlatform.isDarwin
|
, langObjC ? targetPlatform.isDarwin
|
||||||
, langObjCpp ? targetPlatform.isDarwin
|
, langObjCpp ? targetPlatform.isDarwin
|
||||||
|
@ -31,7 +31,6 @@
|
||||||
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
, libpthread ? null, libpthreadCross ? null # required for GNU/Hurd
|
||||||
, stripped ? true
|
, stripped ? true
|
||||||
, gnused ? null
|
, gnused ? null
|
||||||
, binutils ? null
|
|
||||||
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
, cloog # unused; just for compat with gcc4, as we override the parameter on some places
|
||||||
, darwin ? null
|
, darwin ? null
|
||||||
, flex ? null
|
, flex ? null
|
||||||
|
@ -51,7 +50,7 @@ assert libelf != null -> zlib != null;
|
||||||
assert hostPlatform.isDarwin -> gnused != null;
|
assert hostPlatform.isDarwin -> gnused != null;
|
||||||
|
|
||||||
# Need c++filt on darwin
|
# Need c++filt on darwin
|
||||||
assert hostPlatform.isDarwin -> binutils != null;
|
assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
|
||||||
|
|
||||||
# The go frontend is written in c++
|
# The go frontend is written in c++
|
||||||
assert langGo -> langCC;
|
assert langGo -> langCC;
|
||||||
|
@ -144,8 +143,8 @@ let version = "7-20170409";
|
||||||
withFloat +
|
withFloat +
|
||||||
withMode +
|
withMode +
|
||||||
# Ensure that -print-prog-name is able to find the correct programs.
|
# Ensure that -print-prog-name is able to find the correct programs.
|
||||||
" --with-as=${binutils}/bin/${targetPlatform.config}-as" +
|
" --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
|
||||||
" --with-ld=${binutils}/bin/${targetPlatform.config}-ld" +
|
" --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
|
||||||
(if crossMingw && crossStageStatic then
|
(if crossMingw && crossStageStatic then
|
||||||
" --with-headers=${libcCross}/include" +
|
" --with-headers=${libcCross}/include" +
|
||||||
" --with-gcc" +
|
" --with-gcc" +
|
||||||
|
@ -295,14 +294,14 @@ stdenv.mkDerivation ({
|
||||||
++ (optional (zlib != null) zlib)
|
++ (optional (zlib != null) zlib)
|
||||||
++ (optionals langJava [ boehmgc zip unzip ])
|
++ (optionals langJava [ boehmgc zip unzip ])
|
||||||
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
|
||||||
++ (optionals (targetPlatform != hostPlatform) [binutils])
|
++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
|
||||||
++ (optionals langAda [gnatboot])
|
++ (optionals langAda [gnatboot])
|
||||||
++ (optionals langVhdl [gnat])
|
++ (optionals langVhdl [gnat])
|
||||||
|
|
||||||
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
|
||||||
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
|
||||||
++ (optional hostPlatform.isDarwin gnused)
|
++ (optional hostPlatform.isDarwin gnused)
|
||||||
++ (optional hostPlatform.isDarwin binutils)
|
++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
|
||||||
;
|
;
|
||||||
|
|
||||||
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
NIX_LDFLAGS = stdenv.lib.optionalString hostPlatform.isSunOS "-lm -ldl";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
|
{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
|
||||||
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
|
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
|
||||||
|
|
||||||
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
||||||
|
@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
|
||||||
for i in "$out/bin/"*; do
|
for i in "$out/bin/"*; do
|
||||||
test ! -h $i || continue
|
test ! -h $i || continue
|
||||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
|
{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
|
||||||
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
|
, libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
|
||||||
|
|
||||||
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
||||||
|
@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
|
||||||
for i in "$out/bin/"*; do
|
for i in "$out/bin/"*; do
|
||||||
test ! -h $i || continue
|
test ! -h $i || continue
|
||||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, ghc, perl, ncurses, binutils, libiconv
|
{ stdenv, fetchurl, ghc, perl, ncurses, libiconv
|
||||||
|
|
||||||
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
||||||
# library instead of the faster but GPLed integer-gmp library.
|
# library instead of the faster but GPLed integer-gmp library.
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
|
{ stdenv, lib, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
|
||||||
, hscolour, patchutils, sphinx
|
, hscolour, patchutils, sphinx
|
||||||
|
|
||||||
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
# If enabled GHC will be build with the GPL-free but slower integer-simple
|
||||||
|
@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
|
||||||
for i in "$out/bin/"*; do
|
for i in "$out/bin/"*; do
|
||||||
test ! -h $i || continue
|
test ! -h $i || continue
|
||||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchurl, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
|
{ stdenv, lib, fetchurl, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
|
||||||
, autoconf, automake, happy, alex, python3, sphinx, hscolour
|
, autoconf, automake, happy, alex, python3, sphinx, hscolour
|
||||||
, buildPlatform, targetPlatform , selfPkgs, cross ? null
|
, buildPlatform, targetPlatform , selfPkgs, cross ? null
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ in stdenv.mkDerivation (rec {
|
||||||
for i in "$out/bin/"*; do
|
for i in "$out/bin/"*; do
|
||||||
test ! -h $i || continue
|
test ! -h $i || continue
|
||||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -97,23 +97,23 @@ in stdenv.mkDerivation (rec {
|
||||||
|
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"CC=${stdenv.ccCross}/bin/${cross.config}-cc"
|
"CC=${stdenv.ccCross}/bin/${cross.config}-cc"
|
||||||
"LD=${stdenv.binutils}/bin/${cross.config}-ld"
|
"LD=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ld"
|
||||||
"AR=${stdenv.binutils}/bin/${cross.config}-ar"
|
"AR=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ar"
|
||||||
"NM=${stdenv.binutils}/bin/${cross.config}-nm"
|
"NM=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-nm"
|
||||||
"RANLIB=${stdenv.binutils}/bin/${cross.config}-ranlib"
|
"RANLIB=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ranlib"
|
||||||
"--target=${cross.config}"
|
"--target=${cross.config}"
|
||||||
"--enable-bootstrap-with-devel-snapshot"
|
"--enable-bootstrap-with-devel-snapshot"
|
||||||
] ++
|
] ++
|
||||||
# fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
# fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
|
||||||
lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
|
lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
|
||||||
|
|
||||||
buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutils ];
|
buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.targetPackages.stdenv.cc.bintools ];
|
||||||
|
|
||||||
dontSetConfigureCross = true;
|
dontSetConfigureCross = true;
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit bootPkgs cross;
|
inherit bootPkgs cross;
|
||||||
cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
|
cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
|
||||||
ld = "${stdenv.binutils}/bin/${cross.config}-ld";
|
ld = "${stdenv.targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ld";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchgit, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
|
{ stdenv, lib, fetchgit, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
|
||||||
, autoconf, automake, happy, alex, python3, buildPlatform, targetPlatform
|
, autoconf, automake, happy, alex, python3, buildPlatform, targetPlatform
|
||||||
, selfPkgs, cross ? null
|
, selfPkgs, cross ? null
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ in stdenv.mkDerivation (rec {
|
||||||
for i in "$out/bin/"*; do
|
for i in "$out/bin/"*; do
|
||||||
test ! -h $i || continue
|
test ! -h $i || continue
|
||||||
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
egrep --quiet '^#!' <(head -n 1 $i) || continue
|
||||||
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
|
sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
|
||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, binutils, autoconf, alex, happy, makeStaticLibraries
|
{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, targetPackages, autoconf, alex, happy, makeStaticLibraries
|
||||||
, hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false
|
, hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
@ -17,14 +17,14 @@ stdenv.mkDerivation rec {
|
||||||
sed -i '305 d' Makefile
|
sed -i '305 d' Makefile
|
||||||
sed -i '309,439 d' Makefile # Removes RPM packaging
|
sed -i '309,439 d' Makefile # Removes RPM packaging
|
||||||
sed -i '20 d' src/scripts/halvm-cabal.in
|
sed -i '20 d' src/scripts/halvm-cabal.in
|
||||||
sed -ie 's|ld |${binutils}/bin/ld |g' src/scripts/ldkernel.in
|
sed -ie 's|ld |${targetPackages.stdenv.cc.bintools}/bin/ld |g' src/scripts/ldkernel.in
|
||||||
'';
|
'';
|
||||||
configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
|
configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
|
||||||
propagatedNativeBuildInputs = [ alex happy ];
|
propagatedNativeBuildInputs = [ alex happy ];
|
||||||
buildInputs =
|
buildInputs =
|
||||||
let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
|
let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
|
||||||
]; in [ bootPkgs.ghc
|
]; in [ bootPkgs.ghc
|
||||||
automake perl git binutils
|
automake perl git targetPackages.stdenv.cc.bintools
|
||||||
autoconf xen zlib ncurses.dev
|
autoconf xen zlib ncurses.dev
|
||||||
libtool gmp ] ++ haskellPkgs;
|
libtool gmp ] ++ haskellPkgs;
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
|
||||||
inherit bootPkgs;
|
inherit bootPkgs;
|
||||||
cross.config = "halvm";
|
cross.config = "halvm";
|
||||||
cc = "${gcc}/bin/gcc";
|
cc = "${gcc}/bin/gcc";
|
||||||
ld = "${binutils}/bin/ld";
|
ld = "${targetPackages.stdenv.cc.bintools}/bin/ld";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
{ stdenv, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
|
{ stdenv, targetPackages
|
||||||
, llvm, jemalloc, ncurses, darwin, binutils, rustPlatform, git, cmake, curl
|
, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
|
||||||
|
, llvm, jemalloc, ncurses, darwin, rustPlatform, git, cmake, curl
|
||||||
, which, libffi, gdb
|
, which, libffi, gdb
|
||||||
, version
|
, version
|
||||||
, forceBundledLLVM ? false
|
, forceBundledLLVM ? false
|
||||||
|
@ -49,7 +50,7 @@ stdenv.mkDerivation {
|
||||||
++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
|
++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
|
||||||
++ [ "--enable-vendor" "--disable-locked-deps" ]
|
++ [ "--enable-vendor" "--disable-locked-deps" ]
|
||||||
# ++ [ "--jemalloc-root=${jemalloc}/lib"
|
# ++ [ "--jemalloc-root=${jemalloc}/lib"
|
||||||
++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
|
++ [ "--default-linker=${targetPackages.stdenv.cc}/bin/cc" "--default-ar=${targetPackages.stdenv.cc.bintools}/bin/ar" ]
|
||||||
++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
|
++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
|
||||||
++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
|
++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
|
||||||
++ optional (targets != []) "--target=${target}"
|
++ optional (targets != []) "--target=${target}"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
{ stdenv
|
{ stdenv
|
||||||
|
, targetPackages
|
||||||
, cmake
|
, cmake
|
||||||
, coreutils
|
, coreutils
|
||||||
, glibc
|
, glibc
|
||||||
|
@ -26,7 +27,6 @@
|
||||||
, rsync
|
, rsync
|
||||||
, git
|
, git
|
||||||
, libgit2
|
, libgit2
|
||||||
, binutils
|
|
||||||
, fetchFromGitHub
|
, fetchFromGitHub
|
||||||
, paxctl
|
, paxctl
|
||||||
, findutils
|
, findutils
|
||||||
|
@ -250,7 +250,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# TODO: Use wrappers to get these on the PATH for swift tools, instead
|
# TODO: Use wrappers to get these on the PATH for swift tools, instead
|
||||||
ln -s ${clang}/bin/* $out/bin/
|
ln -s ${clang}/bin/* $out/bin/
|
||||||
ln -s ${binutils}/bin/ar $out/bin/ar
|
ln -s ${targetPackages.stdenv.cc.bintools}/bin/ar $out/bin/ar
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# Hack to avoid TMPDIR in RPATHs.
|
# Hack to avoid TMPDIR in RPATHs.
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
{ fetchgit, pkgconfig, gettext, runCommand, makeWrapper
|
{ fetchgit, pkgconfig, gettext, runCommand, makeWrapper
|
||||||
, elfutils, kernel, gnumake, python2, pythonPackages, binutils }:
|
, elfutils, kernel, gnumake, python2, pythonPackages
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
## fetchgit info
|
## fetchgit info
|
||||||
url = git://sourceware.org/git/systemtap.git;
|
url = git://sourceware.org/git/systemtap.git;
|
||||||
|
@ -55,5 +57,5 @@ in runCommand "systemtap-${kernel.version}-${version}" {
|
||||||
rm $out/bin/stap
|
rm $out/bin/stap
|
||||||
makeWrapper $stapBuild/bin/stap $out/bin/stap \
|
makeWrapper $stapBuild/bin/stap $out/bin/stap \
|
||||||
--add-flags "-r $kernelBuildDir" \
|
--add-flags "-r $kernelBuildDir" \
|
||||||
--prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc binutils elfutils gnumake ]}
|
--prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc stdenv.cc.bintools elfutils gnumake ]}
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, SDL, ncurses, libtcod, binutils }:
|
{ stdenv, fetchurl, SDL, ncurses, libtcod }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "brogue-${version}";
|
name = "brogue-${version}";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, steamArch, fetchurl, writeText, python2, dpkg, binutils }:
|
{ stdenv, steamArch, fetchurl, writeText, python2, dpkg }:
|
||||||
|
|
||||||
let input = builtins.getAttr steamArch (import ./runtime-generated.nix { inherit fetchurl; });
|
let input = builtins.getAttr steamArch (import ./runtime-generated.nix { inherit fetchurl; });
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ let input = builtins.getAttr steamArch (import ./runtime-generated.nix { inherit
|
||||||
in stdenv.mkDerivation {
|
in stdenv.mkDerivation {
|
||||||
name = "steam-runtime-2016-08-13";
|
name = "steam-runtime-2016-08-13";
|
||||||
|
|
||||||
nativeBuildInputs = [ python2 dpkg binutils ];
|
nativeBuildInputs = [ python2 dpkg stdenv.cc.bintools ];
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
mkdir -p $out
|
mkdir -p $out
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ stdenv, pkgs, lib, fetchurl, fetchgit, fetchsvn, fetchpatch,
|
{ stdenv, pkgs, lib, fetchurl, fetchgit, fetchsvn, fetchpatch,
|
||||||
jansson, libxml2, libxslt, ncurses, openssl, sqlite,
|
jansson, libxml2, libxslt, ncurses, openssl, sqlite,
|
||||||
utillinux, dmidecode, libuuid, binutils, newt,
|
utillinux, dmidecode, libuuid, newt,
|
||||||
lua, speex,
|
lua, speex,
|
||||||
srtp, wget, curl
|
srtp, wget, curl
|
||||||
}:
|
}:
|
||||||
|
@ -10,7 +10,7 @@ let
|
||||||
inherit version;
|
inherit version;
|
||||||
name = "asterisk-${version}";
|
name = "asterisk-${version}";
|
||||||
|
|
||||||
buildInputs = [ jansson libxml2 libxslt ncurses openssl sqlite utillinux dmidecode libuuid binutils newt lua speex srtp wget curl ];
|
buildInputs = [ jansson libxml2 libxslt ncurses openssl sqlite utillinux dmidecode libuuid newt lua speex srtp wget curl ];
|
||||||
|
|
||||||
patches = [
|
patches = [
|
||||||
# We want the Makefile to install the default /var skeleton
|
# We want the Makefile to install the default /var skeleton
|
||||||
|
|
|
@ -47,13 +47,13 @@ stageFuns: let
|
||||||
same as
|
same as
|
||||||
|
|
||||||
let
|
let
|
||||||
f_-1 = lnul;
|
f_-1 = lnul f_0;
|
||||||
f_0 = op f_-1 x_0 f_1;
|
f_0 = op f_-1 x_0 f_1;
|
||||||
f_1 = op f_0 x_1 f_2;
|
f_1 = op f_0 x_1 f_2;
|
||||||
f_2 = op f_1 x_2 f_3;
|
f_2 = op f_1 x_2 f_3;
|
||||||
...
|
...
|
||||||
f_n = op f_n-1 x_n f_n+1;
|
f_n = op f_n-1 x_n f_n+1;
|
||||||
f_n+1 = rnul;
|
f_n+1 = rnul f_n;
|
||||||
in
|
in
|
||||||
f_0
|
f_0
|
||||||
*/
|
*/
|
||||||
|
@ -62,13 +62,15 @@ stageFuns: let
|
||||||
len = builtins.length list;
|
len = builtins.length list;
|
||||||
go = pred: n:
|
go = pred: n:
|
||||||
if n == len
|
if n == len
|
||||||
then rnul
|
then rnul pred
|
||||||
else let
|
else let
|
||||||
# Note the cycle -- call-by-need ensures finite fold.
|
# Note the cycle -- call-by-need ensures finite fold.
|
||||||
cur = op pred (builtins.elemAt list n) succ;
|
cur = op pred (builtins.elemAt list n) succ;
|
||||||
succ = go cur (n + 1);
|
succ = go cur (n + 1);
|
||||||
in cur;
|
in cur;
|
||||||
in go lnul 0;
|
lapp = lnul cur;
|
||||||
|
cur = go lapp 0;
|
||||||
|
in cur;
|
||||||
|
|
||||||
# Take the list and disallow custom overrides in all but the final stage,
|
# Take the list and disallow custom overrides in all but the final stage,
|
||||||
# and allow it in the final flag. Only defaults this boolean field if it
|
# and allow it in the final flag. Only defaults this boolean field if it
|
||||||
|
@ -98,7 +100,18 @@ stageFuns: let
|
||||||
then args'
|
then args'
|
||||||
else allPackages ((builtins.removeAttrs args' ["selfBuild"]) // {
|
else allPackages ((builtins.removeAttrs args' ["selfBuild"]) // {
|
||||||
buildPackages = if args.selfBuild or true then null else prevStage;
|
buildPackages = if args.selfBuild or true then null else prevStage;
|
||||||
__targetPackages = if args.selfBuild or true then null else nextStage;
|
targetPackages = if args.selfBuild or true then null else nextStage;
|
||||||
});
|
});
|
||||||
|
|
||||||
in dfold folder {} {} withAllowCustomOverrides
|
# This is a hack for resolving cross-compiled compilers' run-time
|
||||||
|
# deps. (That is, compilers that are themselves cross-compiled, as
|
||||||
|
# opposed to used to cross-compile packages.)
|
||||||
|
postStage = buildPackages: {
|
||||||
|
__raw = true;
|
||||||
|
stdenv.cc =
|
||||||
|
if buildPackages.stdenv.cc.isClang or false
|
||||||
|
then buildPackages.clang
|
||||||
|
else buildPackages.gcc;
|
||||||
|
};
|
||||||
|
|
||||||
|
in dfold folder postStage (_: {}) withAllowCustomOverrides
|
||||||
|
|
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
makeFlags = [
|
makeFlags = [
|
||||||
"INSTALL=install"
|
"INSTALL=install"
|
||||||
"STRIP=strip"
|
"STRIP=${stdenv.cc.bintools.prefix}strip"
|
||||||
"prefix=$(out)"
|
"prefix=$(out)"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,8 @@ stdenv.mkDerivation {
|
||||||
sha256 = "1zvadgsskmpm82id9mbj24a2lyq38qv768ixv7nmfjl3d4wr2biv";
|
sha256 = "1zvadgsskmpm82id9mbj24a2lyq38qv768ixv7nmfjl3d4wr2biv";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ bison binutils gettext pkgconfig ];
|
nativeBuildInputs = [ bison gettext pkgconfig ];
|
||||||
buildInputs = [ glib gnutls gtk2 libxml2 zlib ];
|
buildInputs = [ binutils glib gnutls gtk2 libxml2 zlib ];
|
||||||
|
|
||||||
hardeningDisable = [ "bindnow" "fortify" "pic" "relro" ];
|
hardeningDisable = [ "bindnow" "fortify" "pic" "relro" ];
|
||||||
|
|
||||||
|
|
|
@ -5537,7 +5537,7 @@ with pkgs;
|
||||||
# built with, and use, that cross-compiled libc.
|
# built with, and use, that cross-compiled libc.
|
||||||
gccCrossStageStatic = assert targetPlatform != buildPlatform; let
|
gccCrossStageStatic = assert targetPlatform != buildPlatform; let
|
||||||
libcCross1 =
|
libcCross1 =
|
||||||
if targetPlatform.libc == "msvcrt" then __targetPackages.windows.mingw_w64_headers
|
if targetPlatform.libc == "msvcrt" then targetPackages.windows.mingw_w64_headers
|
||||||
else if targetPlatform.libc == "libSystem" then darwin.xcode
|
else if targetPlatform.libc == "libSystem" then darwin.xcode
|
||||||
else null;
|
else null;
|
||||||
in wrapCCWith {
|
in wrapCCWith {
|
||||||
|
@ -8338,9 +8338,9 @@ with pkgs;
|
||||||
libcCrossChooser = name:
|
libcCrossChooser = name:
|
||||||
# libc is hackily often used from the previous stage. This `or`
|
# libc is hackily often used from the previous stage. This `or`
|
||||||
# hack fixes the hack, *sigh*.
|
# hack fixes the hack, *sigh*.
|
||||||
/**/ if name == "glibc" then __targetPackages.glibcCross or glibcCross
|
/**/ if name == "glibc" then targetPackages.glibcCross or glibcCross
|
||||||
else if name == "uclibc" then uclibcCross
|
else if name == "uclibc" then uclibcCross
|
||||||
else if name == "msvcrt" then __targetPackages.windows.mingw_w64 or windows.mingw_w64
|
else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64
|
||||||
else if name == "libSystem" then darwin.xcode
|
else if name == "libSystem" then darwin.xcode
|
||||||
else throw "Unknown libc";
|
else throw "Unknown libc";
|
||||||
|
|
||||||
|
|
|
@ -67,7 +67,7 @@ let
|
||||||
if actuallySplice
|
if actuallySplice
|
||||||
then splicer defaultBuildScope defaultRunScope // {
|
then splicer defaultBuildScope defaultRunScope // {
|
||||||
# These should never be spliced under any circumstances
|
# These should never be spliced under any circumstances
|
||||||
inherit (pkgs) pkgs buildPackages __targetPackages
|
inherit (pkgs) pkgs buildPackages targetPackages
|
||||||
buildPlatform targetPlatform hostPlatform;
|
buildPlatform targetPlatform hostPlatform;
|
||||||
}
|
}
|
||||||
else pkgs // pkgs.xorg;
|
else pkgs // pkgs.xorg;
|
||||||
|
|
|
@ -26,13 +26,13 @@
|
||||||
# us to avoid expensive splicing.
|
# us to avoid expensive splicing.
|
||||||
buildPackages
|
buildPackages
|
||||||
|
|
||||||
, # The package set used in the next stage. If null, `__targetPackages` will be
|
, # The package set used in the next stage. If null, `targetPackages` will be
|
||||||
# defined internally as the final produced package set itself, just like with
|
# defined internally as the final produced package set itself, just like with
|
||||||
# `buildPackages` and for the same reasons.
|
# `buildPackages` and for the same reasons.
|
||||||
#
|
#
|
||||||
# THIS IS A HACK for compilers that don't think critically about cross-
|
# THIS IS A HACK for compilers that don't think critically about cross-
|
||||||
# compilation. Please do *not* use unless you really know what you are doing.
|
# compilation. Please do *not* use unless you really know what you are doing.
|
||||||
__targetPackages
|
targetPackages
|
||||||
|
|
||||||
, # The standard environment to use for building packages.
|
, # The standard environment to use for building packages.
|
||||||
stdenv
|
stdenv
|
||||||
|
@ -72,7 +72,7 @@ let
|
||||||
stdenvBootstappingAndPlatforms = self: super: {
|
stdenvBootstappingAndPlatforms = self: super: {
|
||||||
buildPackages = (if buildPackages == null then self else buildPackages)
|
buildPackages = (if buildPackages == null then self else buildPackages)
|
||||||
// { recurseForDerivations = false; };
|
// { recurseForDerivations = false; };
|
||||||
__targetPackages = (if __targetPackages == null then self else __targetPackages)
|
targetPackages = (if targetPackages == null then self else targetPackages)
|
||||||
// { recurseForDerivations = false; };
|
// { recurseForDerivations = false; };
|
||||||
inherit stdenv;
|
inherit stdenv;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue