Porting changes from stdenv-updates into this branch.
This comes from: svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff patch -p0 < diff and then adding into svn all files new from the patch. trunk@18255 comes from the last time I updated stdenv-updates from trunk. svn path=/nixpkgs/stdenv-updates2/; revision=18272
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
, langJava ? false
|
||||
, profiledCompiler ? false
|
||||
, staticCompiler ? false
|
||||
, enableShared ? true
|
||||
, texinfo ? null
|
||||
, gmp, mpfr
|
||||
, bison ? null, flex ? null
|
||||
@@ -15,7 +16,7 @@ assert langTreelang -> bison != null && flex != null;
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let version = "4.3.3"; in
|
||||
let version = "4.3.4"; in
|
||||
|
||||
stdenv.mkDerivation ({
|
||||
name = "${name}-${version}";
|
||||
@@ -25,19 +26,19 @@ stdenv.mkDerivation ({
|
||||
src =
|
||||
optional /*langC*/ true (fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-core-${version}.tar.bz2";
|
||||
sha256 = "08yksvipnqmqbmif30rwjkg3y0m6ray5r84wa2argv8q0bpz9426";
|
||||
sha256 = "1yk80nwyw8vkpw8d3x7lkg3zrv3ngjqlvj0i8zslzgj7a27q729i";
|
||||
}) ++
|
||||
optional langCC (fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-g++-${version}.tar.bz2";
|
||||
sha256 = "12z2zh03yq214qs2cqzh8c64jjfz544nk1lzi9rygjwm8yjsvzm9";
|
||||
sha256 = "0d8pyk5c9zmph25f4fl63vd8vhljj6ildbxpz2hr594g5i6pplpq";
|
||||
}) ++
|
||||
optional langFortran (fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-fortran-${version}.tar.bz2";
|
||||
sha256 = "1b2wbysviyh7l9fqbd6zy5y6y89xgysy99gr8wx8xkc1hy2nwdsq";
|
||||
sha256 = "1xf2njykv1qcgxiqwj693dxjf77ss1rcxirylvnsp5hs89mdlj12";
|
||||
}) ++
|
||||
optional langJava (fetchurl {
|
||||
url = "mirror://gcc/releases/gcc-${version}/gcc-java-${version}.tar.bz2";
|
||||
sha256 = "1mlazpydd9qv7zwxkbb5sw3clfawfndhcc3f5lzycminvn6qmfkb";
|
||||
sha256 = "1v3krhxi3zyaqfj0x8dbxvg67fjp29cr1psyf71r9zf757p3vqsw";
|
||||
});
|
||||
|
||||
patches =
|
||||
@@ -56,6 +57,7 @@ stdenv.mkDerivation ({
|
||||
|
||||
configureFlags = "
|
||||
${if enableMultilib then "" else "--disable-multilib"}
|
||||
${if enableShared then "" else "--disable-shared"}
|
||||
--disable-libstdcxx-pch
|
||||
--with-system-zlib
|
||||
--enable-languages=${
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
args: with args;
|
||||
|
||||
let
|
||||
useX11 = (stdenv.system != "armv5tel-linux");
|
||||
useNativeCompilers = (stdenv.system != "armv5tel-linux");
|
||||
inherit (stdenv.lib) optionals optionalString;
|
||||
in
|
||||
stdenv.mkDerivation (rec {
|
||||
|
||||
name = "ocaml-3.11.1";
|
||||
@@ -10,10 +15,10 @@ stdenv.mkDerivation (rec {
|
||||
};
|
||||
|
||||
prefixKey = "-prefix ";
|
||||
configureFlags = ["-no-tk" "-x11lib" x11];
|
||||
buildFlags = "world bootstrap world.opt";
|
||||
buildInputs = [x11 ncurses];
|
||||
installTargets = "install installopt";
|
||||
configureFlags = ["-no-tk"] ++ optionals useX11 [ "-x11lib" x11 ];
|
||||
buildFlags = "world" + optionalString useNativeCompilers " bootstrap world.opt";
|
||||
buildInputs = [ncurses] ++ optionals useX11 [ x11 ];
|
||||
installTargets = "install" + optionalString useNativeCompilers " installopt";
|
||||
patchPhase = ''
|
||||
CAT=$(type -tp cat)
|
||||
sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
|
||||
|
||||
31
pkgs/development/compilers/ocaml/cvs.nix
Normal file
31
pkgs/development/compilers/ocaml/cvs.nix
Normal file
@@ -0,0 +1,31 @@
|
||||
args: with args;
|
||||
|
||||
stdenv.mkDerivation (rec {
|
||||
|
||||
name = "ocaml-cvs-2009-09-24";
|
||||
|
||||
src = fetchcvs {
|
||||
cvsRoot = ":pserver:anoncvs@camlcvs.inria.fr:/caml";
|
||||
module = "ocaml";
|
||||
date = "2009-09-24";
|
||||
sha256 = "3909bffebc9ce36ca51711d7d95596cba94376ebb1975c6ed46b09c9892c3ef1";
|
||||
};
|
||||
|
||||
prefixKey = "-prefix ";
|
||||
configureFlags = ["-no-tk"];
|
||||
buildFlags = "world" +
|
||||
(if (stdenv.system != "armv5tel-linux") then "bootstrap world.opt" else "");
|
||||
buildInputs = [ncurses];
|
||||
installTargets = "install" + (if (stdenv.system != "armv5tel-linux") then "installopt" else "");
|
||||
patchPhase = ''
|
||||
CAT=$(type -tp cat)
|
||||
sed -e "s@/bin/cat@$CAT@" -i config/auto-aux/sharpbang
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://caml.inria.fr/ocaml;
|
||||
license = "QPL, LGPL2 (library part)";
|
||||
desctiption = "Most popular variant of the Caml language";
|
||||
};
|
||||
|
||||
})
|
||||
@@ -2,6 +2,13 @@
|
||||
, impureLibcPath ? null
|
||||
}:
|
||||
|
||||
let
|
||||
preBuildNoNative = ''
|
||||
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
|
||||
substituteInPlace lib/Cwd.pm --replace "'/bin/pwd'" "'$(type -tP pwd)'"
|
||||
'';
|
||||
preBuildNative = "";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "perl-5.10.0";
|
||||
|
||||
@@ -24,16 +31,21 @@ stdenv.mkDerivation {
|
||||
# "installstyle" option to ensure that modules are put under
|
||||
# $out/lib/perl5 - this is the general default, but because $out
|
||||
# contains the string "perl", Configure would select $out/lib.
|
||||
configureFlags = ''
|
||||
-de -Dcc=gcc -Uinstallusrbinperl -Dinstallstyle=lib/perl5 -Duseshrplib
|
||||
${if stdenv ? glibc then "-Dusethreads" else ""}
|
||||
'';
|
||||
# Miniperl needs -lm. perl needs -lrt.
|
||||
configureFlags = [
|
||||
"-de"
|
||||
"-Dcc=gcc"
|
||||
"-Uinstallusrbinperl"
|
||||
"-Dinstallstyle=lib/perl5"
|
||||
"-Duseshrplib"
|
||||
(if stdenv ? glibc then "-Dusethreads" else "")
|
||||
];
|
||||
|
||||
configureScript = "${stdenv.shell} ./Configure";
|
||||
|
||||
dontAddPrefix = true;
|
||||
|
||||
preConfigure =
|
||||
configurePhase =
|
||||
''
|
||||
configureFlags="$configureFlags -Dprefix=$out -Dman1dir=$out/share/man/man1 -Dman3dir=$out/share/man/man3"
|
||||
|
||||
@@ -41,13 +53,11 @@ stdenv.mkDerivation {
|
||||
GLIBC=${if impureLibcPath == null then "$(cat $NIX_GCC/nix-support/orig-libc)" else impureLibcPath}
|
||||
configureFlags="$configureFlags -Dlocincpth=$GLIBC/include -Dloclibpth=$GLIBC/lib"
|
||||
fi
|
||||
${stdenv.shell} ./Configure $configureFlags \
|
||||
${if stdenv.system == "armv5tel-linux" then "-Dldflags=\"-lm -lrt\"" else ""};
|
||||
'';
|
||||
|
||||
preBuild =
|
||||
''
|
||||
# Make Cwd work on NixOS (where we don't have a /bin/pwd).
|
||||
${if stdenv.system == "i686-darwin" then "" else "substituteInPlace lib/Cwd.pm --replace \"'/bin/pwd'\" \"'$(type -tP pwd)'\""}
|
||||
'';
|
||||
preBuild = if (stdenv.gcc.nativeTools) then preBuildNative else preBuildNoNative;
|
||||
|
||||
setupHook = ./setup-hook.sh;
|
||||
}
|
||||
|
||||
63
pkgs/development/libraries/eglibc/builder.sh
Normal file
63
pkgs/development/libraries/eglibc/builder.sh
Normal file
@@ -0,0 +1,63 @@
|
||||
# Glibc cannot have itself in its RPATH.
|
||||
export NIX_NO_SELF_RPATH=1
|
||||
|
||||
source $stdenv/setup
|
||||
|
||||
# Explicitly tell glibc to use our pwd, not /bin/pwd.
|
||||
export PWD_P=$(type -tP pwd)
|
||||
|
||||
# Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to
|
||||
# prevent a retained dependency on the bootstrap tools in the
|
||||
# stdenv-linux bootstrap.
|
||||
export BASH_SHELL=/bin/sh
|
||||
|
||||
preConfigure() {
|
||||
|
||||
for i in libc/configure libc/io/ftwtest-sh; do
|
||||
# Can't use substituteInPlace here because replace hasn't been
|
||||
# built yet in the bootstrap.
|
||||
sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
|
||||
done
|
||||
|
||||
# Include source for debugging
|
||||
ensureDir $out/src
|
||||
cp -R libc ports $out/src
|
||||
ln -s $out/src/ports $out/src/libc/ports
|
||||
# glibc wants -O2 minimum
|
||||
export CFLAGS="-pipe -g -O2"
|
||||
|
||||
mkdir $NIX_BUILD_TOP/build
|
||||
cd $NIX_BUILD_TOP/build
|
||||
|
||||
configureScript=$out/src/libc/configure
|
||||
}
|
||||
|
||||
|
||||
postConfigure() {
|
||||
# Hack: get rid of the `-static' flag set by the bootstrap stdenv.
|
||||
# This has to be done *after* `configure' because it builds some
|
||||
# test binaries.
|
||||
export NIX_CFLAGS_LINK=
|
||||
export NIX_LDFLAGS_BEFORE=
|
||||
|
||||
export NIX_DONT_SET_RPATH=1
|
||||
unset CFLAGS
|
||||
}
|
||||
|
||||
|
||||
postInstall() {
|
||||
if test -n "$installLocales"; then
|
||||
make localedata/install-locales
|
||||
fi
|
||||
rm $out/etc/ld.so.cache
|
||||
(cd $out/include && ln -s $kernelHeaders/include/* .) || exit 1
|
||||
|
||||
# Fix for NIXOS-54 (ldd not working on x86_64). Make a symlink
|
||||
# "lib64" to "lib".
|
||||
if test -n "$is64bit"; then
|
||||
ln -s lib $out/lib64
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
genericBuild
|
||||
32
pkgs/development/libraries/eglibc/default.nix
Normal file
32
pkgs/development/libraries/eglibc/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ stdenv, fetchsvn, kernelHeaders
|
||||
, installLocales ? true
|
||||
, profilingLibraries ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "eglibc-2.10";
|
||||
|
||||
src = fetchsvn {
|
||||
url = svn://svn.eglibc.org/branches/eglibc-2_10;
|
||||
rev = 8690;
|
||||
sha256 = "029hklrx2rlhsb5r2csd0gapjm0rbr8n28ib6jnnhms12x302viq";
|
||||
};
|
||||
|
||||
inherit kernelHeaders installLocales;
|
||||
|
||||
configureFlags = [
|
||||
"--with-headers=${kernelHeaders}/include"
|
||||
"--without-fp"
|
||||
"--enable-add-ons=libidn,ports,nptl"
|
||||
"--disable-profile"
|
||||
"--host=arm-linux-gnueabi"
|
||||
"--build=arm-linux-gnueabi"
|
||||
];
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gnu.org/software/libc/;
|
||||
description = "The GNU C Library";
|
||||
};
|
||||
}
|
||||
@@ -1,5 +1,4 @@
|
||||
{ stdenv, fetchurl
|
||||
|
||||
, # FreeType supports hinting using a TrueType bytecode interpreter,
|
||||
# as well as sub-pixel rendering. These are patented by Apple and
|
||||
# Microsoft, respectively, so they are disabled by default. This
|
||||
@@ -8,7 +7,7 @@
|
||||
useEncumberedCode ? false
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (rec {
|
||||
name = "freetype-2.3.11";
|
||||
|
||||
src = fetchurl {
|
||||
@@ -26,4 +25,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.freetype.org/;
|
||||
license = "GPLv2+"; # or the FreeType License (BSD + advertising clause)
|
||||
};
|
||||
}
|
||||
} //
|
||||
# The asm for armel is written with the 'asm' keyword.
|
||||
(if (stdenv.system == "armv5tel-linux") then
|
||||
{CFLAGS = "-std=gnu99";} else {}))
|
||||
|
||||
42
pkgs/development/libraries/glibc-2.9/binutils-2.20.patch
Normal file
42
pkgs/development/libraries/glibc-2.9/binutils-2.20.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
Support GNU Binutils 2.20 and beyond. Patch from
|
||||
http://sourceware.org/ml/libc-alpha/2009-09/msg00009.html .
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 48e6952..b1d84d7 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -4841,7 +4841,7 @@ $as_echo_n "checking version of $AS... " >&6; }
|
||||
ac_prog_version=`$AS --version 2>&1 | sed -n 's/^.*GNU assembler.* \([0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
- 2.1[3-9]*)
|
||||
+ 2.1[3-9]*|[2-9].[2-9]*)
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
|
||||
@@ -4904,7 +4904,7 @@ $as_echo_n "checking version of $LD... " >&6; }
|
||||
ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'`
|
||||
case $ac_prog_version in
|
||||
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
|
||||
- 2.1[3-9]*)
|
||||
+ 2.1[3-9]*|[2-9].[2-9]*)
|
||||
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
|
||||
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 4584afe..7c4f71f 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -897,10 +897,10 @@ AC_SUBST(MIG)dnl Needed by sysdeps/mach/configure.in
|
||||
# Accept binutils 2.13 or newer.
|
||||
AC_CHECK_PROG_VER(AS, $AS, --version,
|
||||
[GNU assembler.* \([0-9]*\.[0-9.]*\)],
|
||||
- [2.1[3-9]*], AS=: critic_missing="$critic_missing as")
|
||||
+ [2.1[3-9]*|[2-9].[2-9]*], AS=: critic_missing="$critic_missing as")
|
||||
AC_CHECK_PROG_VER(LD, $LD, --version,
|
||||
[GNU ld.* \([0-9][0-9]*\.[0-9.]*\)],
|
||||
- [2.1[3-9]*], LD=: critic_missing="$critic_missing ld")
|
||||
+ [2.1[3-9]*|[2-9].[2-9]*], LD=: critic_missing="$critic_missing ld")
|
||||
|
||||
# We need the physical current working directory. We cannot use the
|
||||
# "pwd -P" shell builtin since that's not portable. Instead we try to
|
||||
@@ -26,11 +26,13 @@ preConfigure() {
|
||||
# don't want as a dependency in the Nixpkgs bootstrap. So force
|
||||
# the output file to be newer.
|
||||
touch locale/C-translit.h
|
||||
|
||||
tar xvjf "$srcPorts"
|
||||
|
||||
mkdir ../build
|
||||
cd ../build
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
configureScript=../$sourceRoot/configure
|
||||
configureScript=../configure
|
||||
}
|
||||
|
||||
|
||||
@@ -42,6 +44,7 @@ postConfigure() {
|
||||
export NIX_LDFLAGS_BEFORE=
|
||||
|
||||
export NIX_DONT_SET_RPATH=1
|
||||
unset CFLAGS
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -9,8 +9,13 @@ stdenv.mkDerivation rec {
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/glibc-2.9-20081208.tar.bz2;
|
||||
sha256 = "0zhxbgcsl97pf349m0lz8d5ljvvzrcqc23yf08d888xlk4ms8m3h";
|
||||
url = http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2;
|
||||
sha256 = "0v53m7flx6qcx7cvrvvw6a4dx4x3y6k8nvpc4wfv5xaaqy2am2q9";
|
||||
};
|
||||
|
||||
srcPorts = fetchurl {
|
||||
url = http://ftp.gnu.org/gnu/glibc/glibc-ports-2.9.tar.bz2;
|
||||
sha256 = "0r2sn527wxqifi63di7ns9wbjh1cainxn978w178khhy7yw9fk42";
|
||||
};
|
||||
|
||||
inherit kernelHeaders installLocales;
|
||||
@@ -46,12 +51,28 @@ stdenv.mkDerivation rec {
|
||||
|
||||
/* Have rpcgen(1) look for cpp(1) in $PATH. */
|
||||
./rpcgen-path.patch
|
||||
|
||||
/* Support GNU Binutils 2.20 and above. */
|
||||
./binutils-2.20.patch
|
||||
];
|
||||
|
||||
configureFlags = ''
|
||||
--enable-add-ons
|
||||
--with-headers=${kernelHeaders}/include
|
||||
${if profilingLibraries then "--enable-profile" else "--disable-profile"}
|
||||
configureFlags = [
|
||||
"--enable-add-ons"
|
||||
"--with-headers=${kernelHeaders}/include"
|
||||
(if profilingLibraries then "--enable-profile" else "--disable-profile")
|
||||
] ++ (if (stdenv.system == "armv5tel-linux") then [
|
||||
"--host=arm-linux-gnueabi"
|
||||
"--build=arm-linux-gnueabi"
|
||||
"--without-fp"
|
||||
] else []);
|
||||
|
||||
preInstall = ''
|
||||
ensureDir $out/lib
|
||||
ln -s ${stdenv.gcc.gcc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
rm $out/lib/libgcc_s.so.1
|
||||
'';
|
||||
|
||||
# Workaround for this bug:
|
||||
|
||||
@@ -8,6 +8,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "0zhxbgcsl97pf349m0lz8d5ljvvzrcqc23yf08d888xlk4ms8m3h";
|
||||
};
|
||||
|
||||
patches = [
|
||||
/* Support GNU Binutils 2.20 and above. */
|
||||
./binutils-2.20.patch
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
export PWD_P=$(type -tP pwd)
|
||||
for i in configure io/ftwtest-sh; do
|
||||
|
||||
@@ -10,13 +10,35 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "glibc-locales-2.9";
|
||||
|
||||
|
||||
builder = ./localesbuilder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = http://nixos.org/tarballs/glibc-2.9-20081208.tar.bz2;
|
||||
sha256 = "0zhxbgcsl97pf349m0lz8d5ljvvzrcqc23yf08d888xlk4ms8m3h";
|
||||
url = http://ftp.gnu.org/gnu/glibc/glibc-2.9.tar.bz2;
|
||||
sha256 = "0v53m7flx6qcx7cvrvvw6a4dx4x3y6k8nvpc4wfv5xaaqy2am2q9";
|
||||
};
|
||||
|
||||
configurePhase = "true";
|
||||
srcPorts = fetchurl {
|
||||
url = http://ftp.gnu.org/gnu/glibc/glibc-ports-2.9.tar.bz2;
|
||||
sha256 = "0r2sn527wxqifi63di7ns9wbjh1cainxn978w178khhy7yw9fk42";
|
||||
};
|
||||
|
||||
inherit (stdenv) is64bit;
|
||||
|
||||
configureFlags = [
|
||||
"--enable-add-ons"
|
||||
"--without-headers"
|
||||
"--disable-profile"
|
||||
] ++ (if (stdenv.system == "armv5tel-linux") then [
|
||||
"--host=arm-linux-gnueabi"
|
||||
"--build=arm-linux-gnueabi"
|
||||
"--without-fp"
|
||||
] else []);
|
||||
|
||||
patches = [
|
||||
/* Support GNU Binutils 2.20 and above. */
|
||||
./binutils-2.20.patch
|
||||
];
|
||||
|
||||
# Awful hack: `localedef' doesn't allow the path to `locale-archive'
|
||||
# to be overriden, but you *can* specify a prefix, i.e. it will use
|
||||
@@ -25,8 +47,6 @@ stdenv.mkDerivation rec {
|
||||
# $TMPDIR/nix/store/...-glibc-.../lib/locale/locale-archive.
|
||||
buildPhase =
|
||||
''
|
||||
touch config.make
|
||||
touch config.status
|
||||
mkdir -p $TMPDIR/"$(dirname $(readlink -f $(type -p localedef)))/../lib/locale"
|
||||
make localedata/install-locales \
|
||||
LOCALEDEF="localedef --prefix=$TMPDIR" \
|
||||
|
||||
50
pkgs/development/libraries/glibc-2.9/localesbuilder.sh
Normal file
50
pkgs/development/libraries/glibc-2.9/localesbuilder.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
# Glibc cannot have itself in its RPATH.
|
||||
export NIX_NO_SELF_RPATH=1
|
||||
|
||||
source $stdenv/setup
|
||||
|
||||
# Explicitly tell glibc to use our pwd, not /bin/pwd.
|
||||
export PWD_P=$(type -tP pwd)
|
||||
|
||||
# Needed to install share/zoneinfo/zone.tab. Set to impure /bin/sh to
|
||||
# prevent a retained dependency on the bootstrap tools in the
|
||||
# stdenv-linux bootstrap.
|
||||
export BASH_SHELL=/bin/sh
|
||||
|
||||
|
||||
preConfigure() {
|
||||
|
||||
for i in configure io/ftwtest-sh; do
|
||||
# Can't use substituteInPlace here because replace hasn't been
|
||||
# built yet in the bootstrap.
|
||||
sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
|
||||
done
|
||||
|
||||
# In the glibc 2.6/2.7 tarballs C-translit.h is a little bit older
|
||||
# than C-translit.h.in, forcing Make to rebuild it unnecessarily.
|
||||
# This wouldn't be problem except that it requires Perl, which we
|
||||
# don't want as a dependency in the Nixpkgs bootstrap. So force
|
||||
# the output file to be newer.
|
||||
touch locale/C-translit.h
|
||||
|
||||
tar xvjf "$srcPorts"
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
configureScript=../configure
|
||||
}
|
||||
|
||||
|
||||
postConfigure() {
|
||||
# Hack: get rid of the `-static' flag set by the bootstrap stdenv.
|
||||
# This has to be done *after* `configure' because it builds some
|
||||
# test binaries.
|
||||
export NIX_CFLAGS_LINK=
|
||||
export NIX_LDFLAGS_BEFORE=
|
||||
|
||||
export NIX_DONT_SET_RPATH=1
|
||||
unset CFLAGS
|
||||
}
|
||||
|
||||
genericBuild
|
||||
@@ -10,6 +10,9 @@ stdenv.mkDerivation {
|
||||
|
||||
patchFlags = "-p0";
|
||||
|
||||
CFLAGS = "-O0";
|
||||
CXXFLAGS = "-O0";
|
||||
|
||||
patches = [
|
||||
(fetchurl {
|
||||
url = "http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/dev-libs/icu/files/icu-3.8-setBreakType-public.diff?rev=1.1";
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
# I could not build it in armv5tel-linux
|
||||
assert stdenv.system != "armv5tel-linux";
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "libxcrypt-3.0.2";
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
This patch is to make sure that `libncurses' is among the `NEEDED'
|
||||
dependencies of `libreadline.so' and `libhistory.so'.
|
||||
|
||||
Failing to do that, applications linking against Readline are
|
||||
forced to explicitly link against libncurses as well; in addition,
|
||||
this trick doesn't work when using GNU ld's `--as-needed'.
|
||||
|
||||
--- shlib/Makefile.in 2009-01-06 18:03:22.000000000 +0100
|
||||
+++ shlib/Makefile.in 2009-07-27 14:43:25.000000000 +0200
|
||||
@@ -84,7 +84,7 @@ SHOBJ_LDFLAGS = @SHOBJ_LDFLAGS@
|
||||
SHOBJ_XLDFLAGS = @SHOBJ_XLDFLAGS@
|
||||
SHOBJ_LIBS = @SHOBJ_LIBS@
|
||||
|
||||
-SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@
|
||||
+SHLIB_XLDFLAGS = @LDFLAGS@ @SHLIB_XLDFLAGS@ -lncurses
|
||||
SHLIB_LIBS = @SHLIB_LIBS@
|
||||
|
||||
SHLIB_DOT = @SHLIB_DOT@
|
||||
8
pkgs/development/libraries/readline/readline-patches.nix
Normal file
8
pkgs/development/libraries/readline/readline-patches.nix
Normal file
@@ -0,0 +1,8 @@
|
||||
# Automatically generated by `update-patch-set.sh'; do not edit.
|
||||
|
||||
patch: [
|
||||
(patch "001" "1wbqnsxm4nd8rjckl8mdqcb82pphnsj2yxs4f2nf88kyhwzy544i")
|
||||
(patch "002" "070c3jz8fs5q17yy3l70wxklgnw6hp5ac9zhb0jdnrr9hf0wi6kl")
|
||||
(patch "003" "1gwssafy42hcijcynmlpqsasch7kqxbv2cqw0p7f9p2y6vp9ng2j")
|
||||
(patch "004" "1yzaycdfqjs5jdl0k7qg9cx47bdlq9xs0m6lfq42ys3yscmb1jzm")
|
||||
]
|
||||
@@ -9,7 +9,20 @@ stdenv.mkDerivation rec {
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ncurses];
|
||||
|
||||
|
||||
patchFlags = "-p0";
|
||||
patches =
|
||||
[ ./link-against-ncurses.patch ]
|
||||
++
|
||||
(let
|
||||
patch = nr: sha256:
|
||||
fetchurl {
|
||||
url = "mirror://gnu/readline/readline-6.0-patches/readline60-${nr}";
|
||||
inherit sha256;
|
||||
};
|
||||
in
|
||||
import ./readline-patches.nix patch);
|
||||
|
||||
meta = {
|
||||
description = "GNU Readline, a library for interactive line editing";
|
||||
|
||||
@@ -31,5 +44,7 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://savannah.gnu.org/projects/readline/;
|
||||
|
||||
license = "GPLv3+";
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
{stdenv, fetchurl, noSysDirs}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "binutils-2.19.1";
|
||||
|
||||
name = "binutils-2.20";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/binutils/${name}.tar.bz2";
|
||||
sha256 = "1xirhxwc94bk6hn2k6i5ly4knbcjsqgy2lp7kl1s5q5csys2b0iy";
|
||||
sha256 = "1c3m789p5rwmmnck5ms4zcnc40axss3gxzivz571al1vmbq0kpz1";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@@ -14,16 +14,16 @@ stdenv.mkDerivation rec {
|
||||
# RUNPATH can be overriden using LD_LIBRARY_PATH at runtime.
|
||||
./new-dtags.patch
|
||||
];
|
||||
|
||||
|
||||
inherit noSysDirs;
|
||||
|
||||
preConfigure = ''
|
||||
# Clear the default library search path.
|
||||
if test "$noSysDirs" = "1"; then
|
||||
echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
|
||||
echo 'NATIVE_LIB_DIRS=' >> ld/configure.tgt
|
||||
fi
|
||||
'';
|
||||
|
||||
|
||||
configureFlags = "--disable-werror"; # needed for dietlibc build
|
||||
|
||||
meta = {
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
stdenv.mkDerivation {
|
||||
name = "strace-4.5.18";
|
||||
|
||||
patches = [ ./strace-4.5.18-arm-syscalls.patch ];
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/strace/strace-4.5.18.tar.bz2;
|
||||
sha256 = "1l16vax3mn2wak288g1inmn30i49vlghnvfwr0z2rwh41r3vgrwm";
|
||||
|
||||
@@ -0,0 +1,162 @@
|
||||
From f5da8d0c38ea0eb660cb17de7aa62cda6899eb75 Mon Sep 17 00:00:00 2001
|
||||
From: ldv <ldv>
|
||||
Date: Thu, 1 Jan 2009 23:20:38 +0000
|
||||
Subject: [PATCH] 2008-11-13 Kirill A. Shutemov <kirill@shutemov.name>
|
||||
|
||||
* linux/arm/syscallent.h: Fix build on ARM EABI which does not
|
||||
provide syscalls socketcall and ipc.
|
||||
---
|
||||
ChangeLog | 5 +++++
|
||||
linux/arm/syscallent.h | 4 +++-
|
||||
2 files changed, 8 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
|
||||
index 5ccef2f..edc3641 100644
|
||||
--- a/linux/arm/syscallent.h
|
||||
+++ b/linux/arm/syscallent.h
|
||||
@@ -431,6 +431,7 @@
|
||||
{ 5, 0, printargs, "SYS_398" }, /* 398 */
|
||||
{ 5, 0, printargs, "SYS_399" }, /* 399 */
|
||||
|
||||
+#ifndef __ARM_EABI__
|
||||
#if SYS_socket_subcall != 400
|
||||
#error fix me
|
||||
#endif
|
||||
@@ -481,3 +482,4 @@
|
||||
{ 4, TI, sys_shmdt, "shmdt" }, /* 440 */
|
||||
{ 4, TI, sys_shmget, "shmget" }, /* 441 */
|
||||
{ 4, TI, sys_shmctl, "shmctl" }, /* 442 */
|
||||
+#endif
|
||||
--
|
||||
1.6.1.3
|
||||
|
||||
From 885d06bc92bae2f6aad85ef2fe0b806a06f60712 Mon Sep 17 00:00:00 2001
|
||||
From: ldv <ldv>
|
||||
Date: Thu, 1 Jan 2009 23:23:47 +0000
|
||||
Subject: [PATCH] 2008-11-13 Kirill A. Shutemov <kirill@shutemov.name>
|
||||
|
||||
* linux/arm/syscallent.h: Update syscalls.
|
||||
Based on patch by Enrico Scholz.
|
||||
---
|
||||
ChangeLog | 3 +
|
||||
linux/arm/syscallent.h | 98 ++++++++++++++++++++++++------------------------
|
||||
2 files changed, 52 insertions(+), 49 deletions(-)
|
||||
|
||||
diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
|
||||
index edc3641..6dd783a 100644
|
||||
--- a/linux/arm/syscallent.h
|
||||
+++ b/linux/arm/syscallent.h
|
||||
@@ -328,63 +328,63 @@
|
||||
{ 5, TN, sys_getsockopt, "getsockopt" }, /* 295 */
|
||||
{ 3, TN, sys_sendmsg, "sendmsg" }, /* 296 */
|
||||
{ 3, TN, sys_recvmsg, "recvmsg" }, /* 297 */
|
||||
- { 5, 0, printargs, "SYS_298" }, /* 298 */
|
||||
- { 5, 0, printargs, "SYS_299" }, /* 299 */
|
||||
- { 5, 0, printargs, "SYS_300" }, /* 300 */
|
||||
- { 5, 0, printargs, "SYS_301" }, /* 301 */
|
||||
- { 5, 0, printargs, "SYS_302" }, /* 302 */
|
||||
- { 5, 0, printargs, "SYS_303" }, /* 303 */
|
||||
- { 5, 0, printargs, "SYS_304" }, /* 304 */
|
||||
- { 5, 0, printargs, "SYS_305" }, /* 305 */
|
||||
- { 5, 0, printargs, "SYS_306" }, /* 306 */
|
||||
- { 5, 0, printargs, "SYS_307" }, /* 307 */
|
||||
- { 5, 0, printargs, "SYS_308" }, /* 308 */
|
||||
- { 5, 0, printargs, "SYS_309" }, /* 309 */
|
||||
- { 5, 0, printargs, "SYS_310" }, /* 310 */
|
||||
- { 5, 0, printargs, "SYS_311" }, /* 311 */
|
||||
- { 5, 0, printargs, "SYS_312" }, /* 312 */
|
||||
- { 5, 0, printargs, "SYS_313" }, /* 313 */
|
||||
- { 5, 0, printargs, "SYS_314" }, /* 314 */
|
||||
- { 5, 0, printargs, "SYS_315" }, /* 315 */
|
||||
- { 5, 0, printargs, "SYS_316" }, /* 316 */
|
||||
- { 5, 0, printargs, "SYS_317" }, /* 317 */
|
||||
- { 5, 0, printargs, "SYS_318" }, /* 318 */
|
||||
- { 5, 0, printargs, "SYS_319" }, /* 319 */
|
||||
- { 5, 0, printargs, "SYS_320" }, /* 320 */
|
||||
- { 5, 0, printargs, "SYS_321" }, /* 321 */
|
||||
- { 5, 0, printargs, "SYS_322" }, /* 322 */
|
||||
- { 5, 0, printargs, "SYS_323" }, /* 323 */
|
||||
- { 5, 0, printargs, "SYS_324" }, /* 324 */
|
||||
- { 5, 0, printargs, "SYS_325" }, /* 325 */
|
||||
- { 5, 0, printargs, "SYS_326" }, /* 326 */
|
||||
- { 5, 0, printargs, "SYS_327" }, /* 327 */
|
||||
- { 5, 0, printargs, "SYS_328" }, /* 328 */
|
||||
- { 5, 0, printargs, "SYS_329" }, /* 329 */
|
||||
- { 5, 0, printargs, "SYS_330" }, /* 330 */
|
||||
- { 5, 0, printargs, "SYS_331" }, /* 331 */
|
||||
- { 5, 0, printargs, "SYS_332" }, /* 332 */
|
||||
- { 5, 0, printargs, "SYS_333" }, /* 333 */
|
||||
- { 5, 0, printargs, "SYS_334" }, /* 334 */
|
||||
+ { 4, TI, sys_semop, "semop" }, /* 298 */
|
||||
+ { 4, TI, sys_semget, "semget" }, /* 299 */
|
||||
+ { 4, TI, sys_semctl, "semctl" }, /* 300 */
|
||||
+ { 4, TI, sys_msgsnd, "msgsnd" }, /* 301 */
|
||||
+ { 4, TI, sys_msgrcv, "msgrcv" }, /* 302 */
|
||||
+ { 4, TI, sys_msgget, "msgget" }, /* 303 */
|
||||
+ { 4, TI, sys_msgctl, "msgctl" }, /* 304 */
|
||||
+ { 4, TI, sys_shmat, "shmat" }, /* 305 */
|
||||
+ { 4, TI, sys_shmdt, "shmdt" }, /* 306 */
|
||||
+ { 4, TI, sys_shmget, "shmget" }, /* 307 */
|
||||
+ { 4, TI, sys_shmctl, "shmctl" }, /* 308 */
|
||||
+ { 5, 0, printargs, "add_key" }, /* 309 */
|
||||
+ { 4, 0, printargs, "request_key" }, /* 310 */
|
||||
+ { 5, 0, printargs, "keyctl" }, /* 311 */
|
||||
+ { 5, TI, sys_semtimedop, "semtimedop" }, /* 312 */
|
||||
+ { 5, 0, printargs, "vserver" }, /* 313 */
|
||||
+ { 3, 0, printargs, "ioprio_set" }, /* 314 */
|
||||
+ { 2, 0, printargs, "ioprio_get" }, /* 315 */
|
||||
+ { 0, TD, printargs, "inotify_init" }, /* 316 */
|
||||
+ { 3, TD, sys_inotify_add_watch, "inotify_add_watch" }, /* 317 */
|
||||
+ { 2, TD, sys_inotify_rm_watch, "inotify_rm_watch" }, /* 318 */
|
||||
+ { 6, 0, sys_mbind, "mbind" }, /* 319 */
|
||||
+ { 3, 0, sys_set_mempolicy, "set_mempolicy" }, /* 320 */
|
||||
+ { 5, 0, sys_get_mempolicy, "get_mempolicy" }, /* 321 */
|
||||
+ { 4, TD|TF, sys_openat, "openat" }, /* 322 */
|
||||
+ { 3, TD|TF, sys_mkdirat, "mkdirat" }, /* 323 */
|
||||
+ { 4, TD|TF, sys_mknodat, "mknodat" }, /* 324 */
|
||||
+ { 5, TD|TF, sys_fchownat, "fchownat" }, /* 325 */
|
||||
+ { 3, TD|TF, sys_futimesat, "futimesat" }, /* 326 */
|
||||
+ { 4, TD|TD, sys_newfstatat, "newfstatat" }, /* 327 */
|
||||
+ { 3, TD|TF, sys_unlinkat, "unlinkat" }, /* 328 */
|
||||
+ { 4, TD|TF, sys_renameat, "renameat" }, /* 329 */
|
||||
+ { 5, TD|TF, sys_linkat, "linkat" }, /* 330 */
|
||||
+ { 3, TD|TF, sys_symlinkat, "symlinkat" }, /* 331 */
|
||||
+ { 4, TD|TF, sys_readlinkat, "readlinkat" }, /* 332 */
|
||||
+ { 3, TD|TF, sys_fchmodat, "fchmodat" }, /* 333 */
|
||||
+ { 3, TD|TF, sys_faccessat, "faccessat" }, /* 334 */
|
||||
{ 5, 0, printargs, "SYS_335" }, /* 335 */
|
||||
{ 5, 0, printargs, "SYS_336" }, /* 336 */
|
||||
- { 5, 0, printargs, "SYS_337" }, /* 337 */
|
||||
- { 5, 0, printargs, "SYS_338" }, /* 338 */
|
||||
- { 5, 0, printargs, "SYS_339" }, /* 339 */
|
||||
- { 5, 0, printargs, "SYS_340" }, /* 340 */
|
||||
+ { 1, TP, sys_unshare, "unshare" }, /* 337 */
|
||||
+ { 2, 0, printargs, "set_robust_list" }, /* 338 */
|
||||
+ { 3, 0, printargs, "get_robust_list" }, /* 339 */
|
||||
+ { 6, TD, printargs, "splice" }, /* 340 */
|
||||
{ 5, 0, printargs, "SYS_341" }, /* 341 */
|
||||
- { 5, 0, printargs, "SYS_342" }, /* 342 */
|
||||
- { 5, 0, printargs, "SYS_343" }, /* 343 */
|
||||
+ { 4, TD, printargs, "tee" }, /* 342 */
|
||||
+ { 4, TD, printargs, "vmsplice" }, /* 343 */
|
||||
{ 6, 0, sys_move_pages, "move_pages" }, /* 344 */
|
||||
{ 3, 0, sys_getcpu, "getcpu" }, /* 345 */
|
||||
{ 5, 0, printargs, "SYS_346" }, /* 346 */
|
||||
- { 5, 0, printargs, "SYS_347" }, /* 347 */
|
||||
- { 5, 0, printargs, "SYS_348" }, /* 348 */
|
||||
+ { 5, 0, printargs, "kexec_load" }, /* 347 */
|
||||
+ { 4, TD|TF, sys_utimensat, "utimensat" }, /* 348 */
|
||||
{ 3, TD|TS, sys_signalfd, "signalfd" }, /* 349 */
|
||||
{ 4, TD, sys_timerfd, "timerfd" }, /* 350 */
|
||||
{ 1, TD, sys_eventfd, "eventfd" }, /* 351 */
|
||||
- { 5, 0, printargs, "SYS_352" }, /* 352 */
|
||||
- { 5, 0, printargs, "SYS_353" }, /* 353 */
|
||||
- { 5, 0, printargs, "SYS_354" }, /* 354 */
|
||||
+ { 6, TF, sys_fallocate, "fallocate" }, /* 352 */
|
||||
+ { 4, TD, sys_timerfd_settime, "timerfd_settime"}, /* 353 */
|
||||
+ { 2, TD, sys_timerfd_gettime, "timerfd_gettime"}, /* 354 */
|
||||
{ 5, 0, printargs, "SYS_355" }, /* 355 */
|
||||
{ 5, 0, printargs, "SYS_356" }, /* 356 */
|
||||
{ 5, 0, printargs, "SYS_357" }, /* 357 */
|
||||
--
|
||||
1.6.1.3
|
||||
Reference in New Issue
Block a user