Remove support for the obsolete powerpc-darwin and i686-darwin platforms
This commit is contained in:
parent
4b48d05c58
commit
72684fb42f
@ -5,7 +5,6 @@ hydra_eval_jobs \
|
||||
--argstr system x86_64-linux \
|
||||
--argstr system i686-linux \
|
||||
--argstr system x86_64-darwin \
|
||||
--argstr system i686-darwin \
|
||||
--argstr system i686-cygwin \
|
||||
--argstr system i686-freebsd \
|
||||
--arg officialRelease false \
|
||||
|
@ -15,10 +15,6 @@ let
|
||||
arch = "x86-linux";
|
||||
sha256 = "1s00r1kszk5zhmv7m8z5q2wcqjn2gn7fbqwji3hgnsdvbb1f3jdn";
|
||||
}
|
||||
else if system == "i686-darwin" then fetchDist {
|
||||
arch = "x86-darwin";
|
||||
sha256 = "0vd3zbp5zcp0hjd3y03k595hmri8hw884brjpwjiby3jpm3l40np";
|
||||
}
|
||||
else throw "Unsupported platform for cmucl.";
|
||||
in
|
||||
|
||||
|
@ -1,125 +0,0 @@
|
||||
source $stdenv/setup
|
||||
|
||||
|
||||
export NIX_FIXINC_DUMMY=$NIX_BUILD_TOP/dummy
|
||||
mkdir $NIX_FIXINC_DUMMY
|
||||
|
||||
|
||||
# libstdc++ needs this; otherwise it will use /lib/cpp, which is a Bad
|
||||
# Thing.
|
||||
export CPP="gcc -E"
|
||||
|
||||
|
||||
if test "$noSysDirs" = "1"; then
|
||||
|
||||
# Figure out what extra flags to pass to the gcc compilers being
|
||||
# generated to make sure that they use our glibc.
|
||||
if test -e $NIX_GCC/nix-support/orig-glibc; then
|
||||
glibc=$(cat $NIX_GCC/nix-support/orig-glibc)
|
||||
|
||||
# Ugh. Copied from gcc-wrapper/builder.sh. We can't just
|
||||
# source in $NIX_GCC/nix-support/add-flags, since that would
|
||||
# cause *this* GCC to be linked against the *previous* GCC.
|
||||
# Need some more modularity there.
|
||||
extraCFlags="-B$glibc/lib -isystem $glibc/include"
|
||||
extraLDFlags="-B$glibc/lib -L$glibc/lib -Wl,-s \
|
||||
-Wl,-dynamic-linker,$glibc/lib/ld-linux.so.2"
|
||||
|
||||
# Oh, what a hack. I should be shot for this. In stage 1, we
|
||||
# should link against the previous GCC, but not afterwards.
|
||||
# Otherwise we retain a dependency. However, ld-wrapper,
|
||||
# which adds the linker flags for the previous GCC, is also
|
||||
# used in stage 2/3. We can prevent it from adding them by
|
||||
# NIX_GLIBC_FLAGS_SET, but then gcc-wrapper will also not add
|
||||
# them, thereby causing stage 1 to fail. So we use a trick to
|
||||
# only set the flags in gcc-wrapper.
|
||||
hook=$(pwd)/ld-wrapper-hook
|
||||
echo "NIX_GLIBC_FLAGS_SET=1" > $hook
|
||||
export NIX_LD_WRAPPER_START_HOOK=$hook
|
||||
|
||||
# Use *real* header files, otherwise a limits.h is generated
|
||||
# that does not include Glibc's limits.h (notably missing
|
||||
# SSIZE_MAX, which breaks the build).
|
||||
export NIX_FIXINC_DUMMY=$glibc/include
|
||||
fi
|
||||
|
||||
export NIX_EXTRA_CFLAGS=$extraCFlags
|
||||
export NIX_EXTRA_LDFLAGS=$extraLDFlags
|
||||
export CFLAGS=$extraCFlags
|
||||
export CXXFLAGS=$extraCFlags
|
||||
export LDFLAGS=$extraLDFlags
|
||||
fi
|
||||
|
||||
|
||||
preConfigure() {
|
||||
|
||||
# Determine the frontends to build.
|
||||
langs="c"
|
||||
if test -n "$langCC"; then
|
||||
langs="$langs,c++"
|
||||
fi
|
||||
if test -n "$langF77"; then
|
||||
langs="$langs,f95"
|
||||
fi
|
||||
|
||||
# Perform the build in a different directory.
|
||||
mkdir ../build
|
||||
cd ../build
|
||||
|
||||
configureScript=../$sourceRoot/configure
|
||||
configureFlags="--enable-languages=$langs --disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR}"
|
||||
}
|
||||
|
||||
|
||||
postInstall() {
|
||||
# Remove precompiled headers for now. They are very big and
|
||||
# probably not very useful yet.
|
||||
find $out/include -name "*.gch" -exec rm -rf {} \; -prune
|
||||
|
||||
# Remove `fixincl' to prevent a retained dependency on the
|
||||
# previous gcc.
|
||||
rm -rf $out/libexec/gcc/*/*/install-tools
|
||||
}
|
||||
|
||||
postUnpack() {
|
||||
mv libstdcxx-16/libstdcxx $sourceRoot/
|
||||
}
|
||||
|
||||
STDCXX_INCDIR="$out/include/c++/4.2.1"
|
||||
|
||||
genericBuild
|
||||
|
||||
|
||||
echo '-------------------------------------------------------------------------------------------------------------------------'
|
||||
echo 'libstdcxx-16'
|
||||
echo '-------------------------------------------------------------------------------------------------------------------------'
|
||||
|
||||
cd ..
|
||||
pwd
|
||||
|
||||
preConfigure() {
|
||||
# Perform the build in a different directory.
|
||||
mkdir ../build_libstdcxx
|
||||
cd ../build_libstdcxx
|
||||
|
||||
ln -s ../build/gcc gcc
|
||||
|
||||
configureScript=../$sourceRoot/libstdcxx/configure
|
||||
configureFlags="--disable-libstdcxx-pch --disable-libstdcxx-debug --disable-multilib --with-gxx-include-dir=${STDCXX_INCDIR}"
|
||||
}
|
||||
|
||||
unpackPhase () {
|
||||
echo '-'
|
||||
}
|
||||
|
||||
postInstall() {
|
||||
echo '-'
|
||||
echo "cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/"
|
||||
cp -v ${STDCXX_INCDIR}/*/bits/* ${STDCXX_INCDIR}/bits/
|
||||
}
|
||||
|
||||
patchPhase() {
|
||||
echo '-'
|
||||
}
|
||||
|
||||
genericBuild
|
@ -1,30 +0,0 @@
|
||||
diff -rc libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in
|
||||
*** libstdcxx-16-orig/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:13:52 2009
|
||||
--- libstdcxx-16/libstdcxx/libstdc++-v3/src/Makefile.in Thu Jul 23 19:38:23 2009
|
||||
***************
|
||||
*** 65,71 ****
|
||||
numeric_members.lo time_members.lo
|
||||
am__objects_2 = basic_file.lo c++locale.lo
|
||||
am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
|
||||
! codecvt.lo complex_io.lo ctype.lo debug.lo debug_list.lo \
|
||||
functexcept.lo globals_locale.lo globals_io.lo ios.lo \
|
||||
ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
|
||||
locale.lo locale_init.lo locale_facets.lo localename.lo \
|
||||
--- 65,71 ----
|
||||
numeric_members.lo time_members.lo
|
||||
am__objects_2 = basic_file.lo c++locale.lo
|
||||
am__objects_3 = bitmap_allocator.lo pool_allocator.lo mt_allocator.lo \
|
||||
! codecvt.lo complex_io.lo ctype.lo debug.lo \
|
||||
functexcept.lo globals_locale.lo globals_io.lo ios.lo \
|
||||
ios_failure.lo ios_init.lo ios_locale.lo limits.lo list.lo \
|
||||
locale.lo locale_init.lo locale_facets.lo localename.lo \
|
||||
***************
|
||||
*** 315,321 ****
|
||||
complex_io.cc \
|
||||
ctype.cc \
|
||||
debug.cc \
|
||||
- debug_list.cc \
|
||||
functexcept.cc \
|
||||
globals_locale.cc \
|
||||
globals_io.cc \
|
||||
--- 315,320 ----
|
@ -1,31 +0,0 @@
|
||||
{ stdenv, fetchurl, noSysDirs
|
||||
, langC ? true, langCC ? true, langF77 ? false
|
||||
, profiledCompiler ? false
|
||||
, gmp ? null, mpfr ? null, bison ? null, flex ? null
|
||||
}:
|
||||
|
||||
assert langC;
|
||||
assert stdenv.isDarwin;
|
||||
assert langF77 -> gmp != null;
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "gcc-4.2.1-apple-5574";
|
||||
builder = ./builder.sh;
|
||||
src =
|
||||
stdenv.lib.optional /*langC*/ true (fetchurl {
|
||||
url = http://www.opensource.apple.com/tarballs/gcc_42/gcc_42-5574.tar.gz ;
|
||||
sha256 = "0b76ef3cded7822e3c0ec430f9811b6bb84895055b683acd2df7f7253d745a50";
|
||||
}) ++
|
||||
stdenv.lib.optional langCC (fetchurl {
|
||||
url = http://www.opensource.apple.com/tarballs/libstdcxx/libstdcxx-16.tar.gz ;
|
||||
sha256 = "a7d8041e50e110f5a503e188a05cb217f0c99c51f248a0a1387cc07a0b6f167f";
|
||||
}) ;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
sourceRoot = "gcc_42-5574/";
|
||||
patches =
|
||||
[./pass-cxxcpp.patch ./debug_list.patch]
|
||||
++ (if noSysDirs then [./no-sys-dirs.patch] else []);
|
||||
inherit noSysDirs langC langCC langF77 profiledCompiler;
|
||||
} // (if langF77 then {buildInputs = [gmp mpfr bison flex];} else {}))
|
@ -1,126 +0,0 @@
|
||||
diff -ruN gcc-4.1.0/gcc/cppdefault.c gcc-4.1.0.new/gcc/cppdefault.c
|
||||
--- gcc-4.1.0/gcc/cppdefault.c 2005-06-25 04:02:01.000000000 +0200
|
||||
+++ gcc-4.1.0.new/gcc/cppdefault.c 2006-03-01 18:48:58.000000000 +0100
|
||||
@@ -41,6 +41,10 @@
|
||||
# undef CROSS_INCLUDE_DIR
|
||||
#endif
|
||||
|
||||
+#undef LOCAL_INCLUDE_DIR
|
||||
+#undef SYSTEM_INCLUDE_DIR
|
||||
+#undef STANDARD_INCLUDE_DIR
|
||||
+
|
||||
const struct default_include cpp_include_defaults[]
|
||||
#ifdef INCLUDE_DEFAULTS
|
||||
= INCLUDE_DEFAULTS;
|
||||
diff -ruN gcc-4.1.0/gcc/Makefile.in gcc-4.1.0.new/gcc/Makefile.in
|
||||
--- gcc-4.1.0/gcc/Makefile.in 2006-02-16 16:23:24.000000000 +0100
|
||||
+++ gcc-4.1.0.new/gcc/Makefile.in 2006-03-01 18:55:12.000000000 +0100
|
||||
@@ -219,7 +219,7 @@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
|
||||
# These exists to be overridden by the x-* and t-* files, respectively.
|
||||
-X_CFLAGS =
|
||||
+X_CFLAGS = $(NIX_EXTRA_CFLAGS) $(NIX_EXTRA_LDFLAGS)
|
||||
T_CFLAGS =
|
||||
|
||||
X_CPPFLAGS =
|
||||
@@ -383,7 +383,11 @@
|
||||
MD5_H = $(srcdir)/../include/md5.h
|
||||
|
||||
# Default native SYSTEM_HEADER_DIR, to be overridden by targets.
|
||||
-NATIVE_SYSTEM_HEADER_DIR = /usr/include
|
||||
+# Nix: we override NATIVE_SYSTEM_HEADER_DIR in order to prevent
|
||||
+# `fixinc' from fixing header files in /usr/include. However,
|
||||
+# NATIVE_SYSTEM_HEADER_DIR must point to an existing directory, so set
|
||||
+# it to some dummy directory.
|
||||
+NATIVE_SYSTEM_HEADER_DIR = $(NIX_FIXINC_DUMMY)
|
||||
# Default cross SYSTEM_HEADER_DIR, to be overridden by targets.
|
||||
CROSS_SYSTEM_HEADER_DIR = @CROSS_SYSTEM_HEADER_DIR@
|
||||
|
||||
@@ -395,7 +399,7 @@
|
||||
STMP_FIXINC = @STMP_FIXINC@
|
||||
|
||||
# Test to see whether <limits.h> exists in the system header files.
|
||||
-LIMITS_H_TEST = [ -f $(SYSTEM_HEADER_DIR)/limits.h ]
|
||||
+LIMITS_H_TEST = true
|
||||
|
||||
# Directory for prefix to system directories, for
|
||||
# each of $(system_prefix)/usr/include, $(system_prefix)/usr/lib, etc.
|
||||
@@ -3002,7 +3006,7 @@
|
||||
-DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
|
||||
-DGPLUSPLUS_TOOL_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/$(target_noncanonical)\" \
|
||||
-DGPLUSPLUS_BACKWARD_INCLUDE_DIR=\"$(gcc_gxx_include_dir)/backward\" \
|
||||
- -DLOCAL_INCLUDE_DIR=\"$(local_includedir)\" \
|
||||
+ -DLOCAL_INCLUDE_DIR=\"/no-such-dir\" \
|
||||
-DCROSS_INCLUDE_DIR=\"$(CROSS_SYSTEM_HEADER_DIR)\" \
|
||||
-DTOOL_INCLUDE_DIR=\"$(gcc_tooldir)/include\" \
|
||||
@TARGET_SYSTEM_ROOT_DEFINE@
|
||||
diff -ruN gcc-4.1.0/libstdc++-v3/include/Makefile.in gcc-4.1.0.new/libstdc++-v3/include/Makefile.in
|
||||
--- gcc-4.1.0/libstdc++-v3/include/Makefile.in 2006-01-10 18:14:00.000000000 +0100
|
||||
+++ gcc-4.1.0.new/libstdc++-v3/include/Makefile.in 2006-03-01 18:57:32.000000000 +0100
|
||||
@@ -1257,8 +1257,8 @@
|
||||
if [ ! -d "${pch_output_builddir}" ]; then \
|
||||
mkdir -p ${pch_output_builddir}; \
|
||||
fi; \
|
||||
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O0 -g -o ${pch_output_builddir}/O0g.gch; \
|
||||
- $(CXX) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O2 -g -o ${pch_output_builddir}/O2g.gch;
|
||||
+ $(CXX) $(CFLAGS) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O0 -g -o ${pch_output_builddir}/O0g.gch; \
|
||||
+ $(CXX) $(CFLAGS) $(PCHFLAGS) $(AM_CPPFLAGS) ${pch_source} -O2 -g -o ${pch_output_builddir}/O2g.gch;
|
||||
|
||||
# For robustness sake (in light of junk files or in-source
|
||||
# configuration), copy from the build or source tree to the install
|
||||
diff -ruN gcc-4.1.0/ltcf-cxx.sh gcc-4.1.0.new/ltcf-cxx.sh
|
||||
--- gcc-4.1.0/ltcf-cxx.sh 2005-07-16 04:30:53.000000000 +0200
|
||||
+++ gcc-4.1.0.new/ltcf-cxx.sh 2006-03-01 18:58:15.000000000 +0100
|
||||
@@ -989,7 +989,7 @@
|
||||
# the conftest object file.
|
||||
pre_test_object_deps_done=no
|
||||
|
||||
- for p in `eval $output_verbose_link_cmd`; do
|
||||
+ for p in `true`; do
|
||||
|
||||
case $p in
|
||||
|
||||
diff -ruN gcc-4.1.0/ltconfig gcc-4.1.0.new/ltconfig
|
||||
--- gcc-4.1.0/ltconfig 2005-07-16 04:30:53.000000000 +0200
|
||||
+++ gcc-4.1.0.new/ltconfig 2006-03-01 18:59:58.000000000 +0100
|
||||
@@ -2322,6 +2322,11 @@
|
||||
# A language-specific compiler.
|
||||
CC=$CC
|
||||
|
||||
+# Ugly hack to get libmudflap (and possibly other libraries) to build.
|
||||
+# Libtool filters out \`-B' flags when linking (why?), so the \`-B' flag
|
||||
+# to Glibc gets lost. Here we forcibly add it to any invocation.
|
||||
+CC="\$CC $NIX_EXTRA_LDFLAGS"
|
||||
+
|
||||
# Is the compiler the GNU C compiler?
|
||||
with_gcc=$with_gcc
|
||||
|
||||
diff -ruN gcc-4.1.0/Makefile.in gcc-4.1.0.new/Makefile.in
|
||||
--- gcc-4.1.0/Makefile.in 2005-12-15 15:02:02.000000000 +0100
|
||||
+++ gcc-4.1.0.new/Makefile.in 2006-03-01 19:41:04.000000000 +0100
|
||||
@@ -286,7 +286,7 @@
|
||||
WINDRES = @WINDRES@
|
||||
|
||||
CFLAGS = @CFLAGS@
|
||||
-LDFLAGS =
|
||||
+LDFLAGS = $(NIX_EXTRA_LDFLAGS)
|
||||
LIBCFLAGS = $(CFLAGS)
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
LIBCXXFLAGS = $(CXXFLAGS) -fno-implicit-templates
|
||||
@@ -329,12 +329,12 @@
|
||||
# CFLAGS will be just -g. We want to ensure that TARGET libraries
|
||||
# (which we know are built with gcc) are built with optimizations so
|
||||
# prepend -O2 when setting CFLAGS_FOR_TARGET.
|
||||
-CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
|
||||
+CFLAGS_FOR_TARGET = -O2 $(CFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS)
|
||||
SYSROOT_CFLAGS_FOR_TARGET = @SYSROOT_CFLAGS_FOR_TARGET@
|
||||
-CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET)
|
||||
+CXXFLAGS_FOR_TARGET = $(CXXFLAGS) $(SYSROOT_CFLAGS_FOR_TARGET) $(NIX_EXTRA_CFLAGS)
|
||||
LIBCFLAGS_FOR_TARGET = $(CFLAGS_FOR_TARGET)
|
||||
LIBCXXFLAGS_FOR_TARGET = $(CXXFLAGS_FOR_TARGET) -fno-implicit-templates
|
||||
-LDFLAGS_FOR_TARGET =
|
||||
+LDFLAGS_FOR_TARGET = $(NIX_EXTRA_LDFLAGS)
|
||||
PICFLAG_FOR_TARGET =
|
||||
|
||||
# ------------------------------------
|
@ -1,21 +0,0 @@
|
||||
diff -rc gcc-orig/Makefile.in gcc-4.1.1/Makefile.in
|
||||
*** gcc-orig/Makefile.in Wed Jun 21 13:40:23 2006
|
||||
--- gcc-4.1.1/Makefile.in Wed Jun 21 14:19:44 2006
|
||||
***************
|
||||
*** 213,219 ****
|
||||
RAW_CXX_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
||||
! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX;
|
||||
|
||||
NORMAL_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
--- 213,220 ----
|
||||
RAW_CXX_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
||||
CXX_FOR_TARGET="$(RAW_CXX_FOR_TARGET)"; export CXX_FOR_TARGET; \
|
||||
! CXX="$(RAW_CXX_FOR_TARGET)"; export CXX; \
|
||||
! CXXCPP="$(RAW_CXX_FOR_TARGET) $(CFLAGS_FOR_BUILD) -E"; export CXXCPP;
|
||||
|
||||
NORMAL_TARGET_EXPORTS = \
|
||||
$(BASE_TARGET_EXPORTS) \
|
@ -14,10 +14,7 @@ stdenv.mkDerivation rec {
|
||||
] ++ stdenv.lib.optional (stdenv.system != "i686-cygwin") ./dll.patch;
|
||||
|
||||
|
||||
buildInputs = [ unzip ]
|
||||
|
||||
# For some reason the makefile sets "AR = libtool" on Darwin.
|
||||
++ stdenv.lib.optional (stdenv.system == "i686-darwin") libtool;
|
||||
buildInputs = [ unzip ];
|
||||
|
||||
# Unpack the thing in a subdirectory.
|
||||
unpackPhase = ''
|
||||
|
@ -1,27 +0,0 @@
|
||||
{stdenv, fetchurl, m4, cxx ? true}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gmp-4.3.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/gmp/${name}.tar.bz2";
|
||||
sha256 = "1j5pklq36ivg2cim5wfysns229a544lqkimp3mlzkwjl513ra0ma";
|
||||
};
|
||||
|
||||
buildInputs = [m4];
|
||||
|
||||
preConfigure = "ln -sf configfsf.guess config.guess";
|
||||
|
||||
configureFlags = if cxx then "--enable-cxx" else "--disable-cxx";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
description = "A free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers";
|
||||
homepage = http://gmplib.org/;
|
||||
license = "LGPL";
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
{ fetchurl, stdenv }:
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libiconv-1.13.1";
|
||||
|
||||
src = fetchurl {
|
||||
@ -8,6 +8,12 @@ stdenv.mkDerivation (rec {
|
||||
sha256 = "0jcsjk2g28bq20yh7rvbn8xgq6q42g8dkkac0nfh12b061l638sm";
|
||||
};
|
||||
|
||||
# On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
|
||||
# (Windows' linker would need to be used somehow to produce an actual
|
||||
# DLL.) Thus, build the static library too, and this is what Gettext
|
||||
# will actually use.
|
||||
configureFlags = stdenv.lib.optional stdenv.isCygwin [ "--enable-static" ];
|
||||
|
||||
meta = {
|
||||
description = "GNU libiconv, an iconv(3) implementation";
|
||||
|
||||
@ -27,16 +33,6 @@ stdenv.mkDerivation (rec {
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
|
||||
# This library is not needed on GNU platforms.
|
||||
platforms = [ "i686-cygwin" "i686-darwin" ];
|
||||
platforms = [ "i686-cygwin" ];
|
||||
};
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
stdenv.lib.optionalAttrs stdenv.isCygwin {
|
||||
# On Cygwin, Libtool produces a `.dll.a', which is not a "real" DLL
|
||||
# (Windows' linker would need to be used somehow to produce an actual
|
||||
# DLL.) Thus, build the static library too, and this is what Gettext
|
||||
# will actually use.
|
||||
configureFlags = [ "--enable-static" ];
|
||||
})
|
||||
|
@ -15,11 +15,10 @@ stdenv.mkDerivation rec {
|
||||
'';
|
||||
|
||||
buildInputs = [ gettext ] ++
|
||||
|
||||
# We don't have Emacs/GTK/etc. on {Dar,Cyg}win.
|
||||
stdenv.lib.optional
|
||||
(! (stdenv.lib.lists.any (x: stdenv.system == x)
|
||||
[ "i686-darwin" "i686-cygwin" ]))
|
||||
[ "i686-cygwin" ]))
|
||||
emacs;
|
||||
|
||||
doCheck = true;
|
||||
|
@ -2,9 +2,8 @@ let lists = import ./lists.nix; in
|
||||
|
||||
rec {
|
||||
gnu = linux; /* ++ hurd ++ kfreebsd ++ ... */
|
||||
linux = ["i686-linux" "x86_64-linux" "powerpc-linux" "armv5tel-linux"
|
||||
"armv7l-linux" "mips64el-linux"];
|
||||
darwin = ["i686-darwin" "powerpc-darwin" "x86_64-darwin"];
|
||||
linux = ["i686-linux" "x86_64-linux" "powerpc-linux" "armv5tel-linux" "armv7l-linux" "mips64el-linux"];
|
||||
darwin = ["x86_64-darwin"];
|
||||
freebsd = ["i686-freebsd" "x86_64-freebsd" "powerpc-freebsd"];
|
||||
openbsd = ["i686-openbsd" "x86_64-openbsd"];
|
||||
netbsd = ["i686-netbsd" "x86_64-netbsd"];
|
||||
|
@ -251,10 +251,7 @@ in
|
||||
};
|
||||
|
||||
libSM = attrs: attrs
|
||||
// { propagatedBuildInputs = [ xorg.libICE ]; }
|
||||
// args.stdenv.lib.optionalAttrs (args.stdenv.system == "i686-darwin") {
|
||||
configureFlags = "LIBUUID_CFLAGS='' LIBUUID_LIBS=''";
|
||||
};
|
||||
// { propagatedBuildInputs = [ xorg.libICE ]; };
|
||||
|
||||
lndir = attrs: attrs // {
|
||||
preConfigure = ''
|
||||
|
@ -43,13 +43,13 @@ rec {
|
||||
# Linux standard environment.
|
||||
stdenvLinux = (import ./linux {inherit system allPackages platform;}).stdenvLinux;
|
||||
|
||||
|
||||
|
||||
# MinGW/MSYS standard environment.
|
||||
stdenvMinGW = import ./mingw {
|
||||
inherit system;
|
||||
};
|
||||
|
||||
|
||||
|
||||
# Select the appropriate stdenv for the platform `system'.
|
||||
stdenv =
|
||||
if stdenvType == "i686-linux" then stdenvLinux else
|
||||
@ -59,7 +59,6 @@ rec {
|
||||
if stdenvType == "mips64el-linux" then stdenvLinux else
|
||||
if stdenvType == "powerpc-linux" then /* stdenvLinux */ stdenvNative else
|
||||
if stdenvType == "i686-mingw" then stdenvMinGW else
|
||||
if stdenvType == "i686-darwin" then stdenvNix else
|
||||
if stdenvType == "x86_64-darwin" then stdenvNix else
|
||||
stdenvNative;
|
||||
}
|
||||
|
@ -82,9 +82,7 @@ let
|
||||
// (attrs.passthru or {});
|
||||
|
||||
# Utility flags to test the type of platform.
|
||||
isDarwin = result.system == "i686-darwin"
|
||||
|| result.system == "powerpc-darwin"
|
||||
|| result.system == "x86_64-darwin";
|
||||
isDarwin = result.system == "x86_64-darwin";
|
||||
isLinux = result.system == "i686-linux"
|
||||
|| result.system == "x86_64-linux"
|
||||
|| result.system == "powerpc-linux"
|
||||
@ -108,7 +106,6 @@ let
|
||||
|| result.system == "x86_64-openbsd";
|
||||
isi686 = result.system == "i686-linux"
|
||||
|| result.system == "i686-gnu"
|
||||
|| result.system == "i686-darwin"
|
||||
|| result.system == "i686-freebsd"
|
||||
|| result.system == "i686-openbsd"
|
||||
|| result.system == "i386-sunos";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
rec {
|
||||
|
||||
shell =
|
||||
shell =
|
||||
if system == "i686-freebsd" || system == "x86_64-freebsd" then "/usr/local/bin/bash"
|
||||
else "/bin/bash";
|
||||
|
||||
path =
|
||||
path =
|
||||
(if system == "i686-solaris" then [ "/usr/gnu" ] else []) ++
|
||||
(if system == "i686-netbsd" then [ "/usr/pkg" ] else []) ++
|
||||
["/" "/usr" "/usr/local"];
|
||||
@ -22,13 +22,13 @@ rec {
|
||||
export NIX_DONT_SET_RPATH=1
|
||||
export NIX_NO_SELF_RPATH=1
|
||||
dontFixLibtool=1
|
||||
stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
|
||||
stripAllFlags=" " # the Darwin "strip" command doesn't know "-s"
|
||||
xargsFlags=" "
|
||||
'';
|
||||
|
||||
prehookFreeBSD = ''
|
||||
${prehookBase}
|
||||
|
||||
|
||||
alias make=gmake
|
||||
alias tar=gtar
|
||||
alias sed=gsed
|
||||
@ -41,14 +41,14 @@ rec {
|
||||
|
||||
prehookOpenBSD = ''
|
||||
${prehookBase}
|
||||
|
||||
|
||||
alias make=gmake
|
||||
alias grep=ggrep
|
||||
alias mv=gmv
|
||||
alias ln=gln
|
||||
alias sed=gsed
|
||||
alias tar=gtar
|
||||
|
||||
|
||||
export MAKE=gmake
|
||||
shopt -s expand_aliases
|
||||
|
||||
@ -58,20 +58,20 @@ rec {
|
||||
|
||||
prehookNetBSD = ''
|
||||
${prehookBase}
|
||||
|
||||
|
||||
alias make=gmake
|
||||
alias sed=gsed
|
||||
alias tar=gtar
|
||||
export MAKE=gmake
|
||||
shopt -s expand_aliases
|
||||
|
||||
|
||||
# Filter out stupid GCC warnings (in gcc-wrapper).
|
||||
export NIX_GCC_NEEDS_GREP=1
|
||||
'';
|
||||
|
||||
prehookCygwin = ''
|
||||
${prehookBase}
|
||||
|
||||
|
||||
if test -z "$cygwinConfigureEnableShared"; then
|
||||
export configureFlags="$configureFlags --disable-shared"
|
||||
fi
|
||||
@ -81,17 +81,17 @@ rec {
|
||||
|
||||
|
||||
# A function that builds a "native" stdenv (one that uses tools in
|
||||
# /usr etc.).
|
||||
# /usr etc.).
|
||||
makeStdenv =
|
||||
{ gcc, fetchurl, extraPath ? [], overrides ? (pkgs: { }) }:
|
||||
|
||||
import ../generic {
|
||||
preHook =
|
||||
if system == "i686-darwin" || system == "powerpc-darwin" || system == "x86_64-darwin" then prehookDarwin else
|
||||
if system == "x86_64-darwin" then prehookDarwin else
|
||||
if system == "i686-freebsd" then prehookFreeBSD else
|
||||
if system == "x86_64-freebsd" then prehookFreeBSD else
|
||||
if system == "i686-openbsd" then prehookOpenBSD else
|
||||
if system == "i686-netbsd" then prehookNetBSD else
|
||||
if system == "i686-netbsd" then prehookNetBSD else
|
||||
prehookBase;
|
||||
|
||||
initialPath = extraPath ++ path;
|
||||
@ -106,7 +106,7 @@ rec {
|
||||
gcc = "/no-such-path";
|
||||
fetchurl = null;
|
||||
};
|
||||
|
||||
|
||||
|
||||
gcc = import ../../build-support/gcc-wrapper {
|
||||
name = "gcc-native";
|
||||
@ -116,14 +116,14 @@ rec {
|
||||
stdenv = stdenvBoot0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
fetchurl = import ../../build-support/fetchurl {
|
||||
stdenv = stdenvBoot0;
|
||||
# Curl should be in /usr/bin or so.
|
||||
curl = null;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
# First build a stdenv based only on tools outside the store.
|
||||
stdenvBoot1 = makeStdenv {
|
||||
inherit gcc fetchurl;
|
||||
|
@ -10,10 +10,5 @@ cd hevea-*
|
||||
sed s+/usr/local+$out+ Makefile > Makefile.new
|
||||
mv Makefile.new Makefile
|
||||
|
||||
if test "x$system" = "xpowerpc-darwin"; then
|
||||
sed s/CPP=cpp\ -E\ -P/CPP=m4\ -E\ -E\ -P/ Makefile > Makefile.new
|
||||
mv Makefile.new Makefile
|
||||
fi
|
||||
|
||||
make
|
||||
make install
|
||||
|
@ -24,7 +24,7 @@
|
||||
, # Non-GNU/Linux OSes are currently "impure" platforms, with their libc
|
||||
# outside of the store. Thus, GCC, GFortran, & co. must always look for
|
||||
# files in standard system directories (/usr/include, etc.)
|
||||
noSysDirs ? (system != "x86_64-darwin" && system != "i686-darwin"
|
||||
noSysDirs ? (system != "x86_64-darwin"
|
||||
&& system != "x86_64-freebsd" && system != "i686-freebsd"
|
||||
&& system != "x86_64-kfreebsd-gnu")
|
||||
|
||||
@ -2121,17 +2121,14 @@ let
|
||||
}));
|
||||
|
||||
gccApple =
|
||||
wrapGCC (makeOverridable
|
||||
(if stdenv.system == "i686-darwin"
|
||||
then import ../development/compilers/gcc/4.2-apple32
|
||||
else 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;
|
||||
});
|
||||
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;
|
||||
});
|
||||
|
||||
gccupc40 = wrapGCCUPC (import ../development/compilers/gcc-upc-4.0 {
|
||||
inherit fetchurl stdenv bison autoconf gnum4 noSysDirs;
|
||||
@ -3753,18 +3750,12 @@ let
|
||||
|
||||
gmm = callPackage ../development/libraries/gmm { };
|
||||
|
||||
# GMP 4.3.2 is broken on Darwin, so use 4.3.1.
|
||||
gmp = if stdenv.system == "i686-darwin" then gmp4 else gmp5;
|
||||
gmp = gmp5;
|
||||
|
||||
gmpxx = appendToName "with-cxx" (gmp.override { cxx = true; });
|
||||
|
||||
# The GHC bootstrap binaries link against libgmp.so.3, which is in GMP 4.x.
|
||||
gmp4 =
|
||||
if stdenv.system == "i686-darwin" then
|
||||
# GMP 4.3.2 is broken on Darwin, so use 4.3.1.
|
||||
callPackage ../development/libraries/gmp/4.3.1.nix { }
|
||||
else
|
||||
callPackage ../development/libraries/gmp/4.3.2.nix { };
|
||||
gmp4 = callPackage ../development/libraries/gmp/4.3.2.nix { };
|
||||
|
||||
gmp5 = callPackage ../development/libraries/gmp/5.0.5.nix { };
|
||||
|
||||
@ -4509,8 +4500,7 @@ let
|
||||
mesaSupported =
|
||||
system == "i686-linux" ||
|
||||
system == "x86_64-linux" ||
|
||||
system == "x86_64-darwin" ||
|
||||
system == "i686-darwin";
|
||||
system == "x86_64-darwin";
|
||||
|
||||
mesa = callPackage ../development/libraries/mesa { };
|
||||
|
||||
|
@ -47,16 +47,16 @@ releaseTools.sourceTarball {
|
||||
export NIX_DB_DIR=$TMPDIR
|
||||
export NIX_STATE_DIR=$TMPDIR
|
||||
nix-store --init
|
||||
|
||||
|
||||
# Run the regression tests in `lib'.
|
||||
res="$(nix-instantiate --eval-only --strict pkgs/lib/tests.nix)"
|
||||
if test "$res" != "[ ]"; then
|
||||
echo "regression tests for lib failed, got: $res"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Check that all-packages.nix evaluates on a number of platforms.
|
||||
for platform in i686-linux x86_64-linux powerpc-linux i686-freebsd powerpc-darwin i686-darwin; do
|
||||
for platform in i686-linux x86_64-linux powerpc-linux i686-freebsd; do
|
||||
header "checking pkgs/top-level/all-packages.nix on $platform"
|
||||
nix-env --readonly-mode -f pkgs/top-level/all-packages.nix \
|
||||
--show-trace --argstr system "$platform" \
|
||||
@ -72,7 +72,7 @@ releaseTools.sourceTarball {
|
||||
|
||||
distPhase = ''
|
||||
find . -name "\.svn" -exec rm -rvf {} \; -prune
|
||||
|
||||
|
||||
mkdir -p $out/tarballs
|
||||
mkdir ../$releaseName
|
||||
cp -prd . ../$releaseName
|
||||
|
@ -10,7 +10,6 @@ rec {
|
||||
if system == "x86_64-linux" then pkgs_x86_64_linux
|
||||
else if system == "i686-linux" then pkgs_i686_linux
|
||||
else if system == "x86_64-darwin" then pkgs_x86_64_darwin
|
||||
else if system == "i686-darwin" then pkgs_i686_darwin
|
||||
else if system == "x86_64-freebsd" then pkgs_x86_64_freebsd
|
||||
else if system == "i686-freebsd" then pkgs_i686_freebsd
|
||||
else if system == "i686-cygwin" then pkgs_i686_cygwin
|
||||
@ -19,7 +18,6 @@ rec {
|
||||
pkgs_x86_64_linux = allPackages { system = "x86_64-linux"; };
|
||||
pkgs_i686_linux = allPackages { system = "i686-linux"; };
|
||||
pkgs_x86_64_darwin = allPackages { system = "x86_64-darwin"; };
|
||||
pkgs_i686_darwin = allPackages { system = "i686-darwin"; };
|
||||
pkgs_x86_64_freebsd = allPackages { system = "x86_64-freebsd"; };
|
||||
pkgs_i686_freebsd = allPackages { system = "i686-freebsd"; };
|
||||
pkgs_i686_cygwin = allPackages { system = "i686-cygwin"; };
|
||||
@ -75,37 +73,37 @@ rec {
|
||||
job = toJob value;
|
||||
getPkg = pkgs: (pkgs.lib.addMetaAttrs {
|
||||
schedulingPriority = toString job.schedulingPriority;
|
||||
maintainers = crossMaintainers;
|
||||
maintainers = crossMaintainers;
|
||||
}
|
||||
(pkgs.lib.getAttrFromPath path pkgs));
|
||||
in testOnCross crossSystem job.systems getPkg);
|
||||
|
||||
/* Find all packages that have a meta.platforms field listing the
|
||||
supported platforms. */
|
||||
packagesWithMetaPlatform = attrSet:
|
||||
if builtins ? tryEval then
|
||||
let pairs = pkgs.lib.concatMap
|
||||
packagesWithMetaPlatform = attrSet:
|
||||
if builtins ? tryEval then
|
||||
let pairs = pkgs.lib.concatMap
|
||||
(x:
|
||||
let pair = builtins.tryEval
|
||||
(let
|
||||
attrVal = (builtins.getAttr x attrSet);
|
||||
in
|
||||
{val=(processPackage attrVal);
|
||||
attrVal = attrVal;
|
||||
attrValIsAttrs = builtins.isAttrs attrVal;
|
||||
});
|
||||
success = (builtins.tryEval pair.value.attrVal).success;
|
||||
in
|
||||
if success && pair.value.attrValIsAttrs &&
|
||||
pair.value.val != [] then
|
||||
[{name= x; value=pair.value.val;}] else [])
|
||||
let pair = builtins.tryEval
|
||||
(let
|
||||
attrVal = (builtins.getAttr x attrSet);
|
||||
in
|
||||
{val=(processPackage attrVal);
|
||||
attrVal = attrVal;
|
||||
attrValIsAttrs = builtins.isAttrs attrVal;
|
||||
});
|
||||
success = (builtins.tryEval pair.value.attrVal).success;
|
||||
in
|
||||
if success && pair.value.attrValIsAttrs &&
|
||||
pair.value.val != [] then
|
||||
[{name= x; value=pair.value.val;}] else [])
|
||||
(builtins.attrNames attrSet);
|
||||
in
|
||||
builtins.listToAttrs pairs
|
||||
else {};
|
||||
|
||||
|
||||
# May fail as much as it wishes, we will catch the error.
|
||||
processPackage = attrSet:
|
||||
processPackage = attrSet:
|
||||
if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then
|
||||
packagesWithMetaPlatform attrSet
|
||||
else if attrSet ? recurseForRelease && attrSet.recurseForRelease then
|
||||
@ -121,6 +119,6 @@ rec {
|
||||
/* Platform groups for specific kinds of applications. */
|
||||
x11Supported = linux;
|
||||
gtkSupported = linux;
|
||||
ghcSupported = linux ++ ["i686-darwin"] ;
|
||||
ghcSupported = linux;
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user