summary refs log tree commit diff
path: root/pkgs/development/libraries/glibc-new/builder.sh
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries/glibc-new/builder.sh')
-rw-r--r--pkgs/development/libraries/glibc-new/builder.sh63
1 files changed, 63 insertions, 0 deletions
diff --git a/pkgs/development/libraries/glibc-new/builder.sh b/pkgs/development/libraries/glibc-new/builder.sh
new file mode 100644
index 0000000000000..2007235ab7660
--- /dev/null
+++ b/pkgs/development/libraries/glibc-new/builder.sh
@@ -0,0 +1,63 @@
+# glibc cannot have itself in its rpath.
+export NIX_NO_SELF_RPATH=1
+export NIX_DONT_SET_RPATH=1
+
+source $stdenv/setup
+source $substitute
+
+glibc=`cat $NIX_GCC/nix-support/orig-glibc`
+echo $glibc
+
+export LD_LIBRARY_PATH=$glibc/lib
+
+# Explicitly tell glibc to use our pwd, not /bin/pwd.
+export PWD_P=$(type -tP pwd)
+
+
+postUnpack=postUnpack
+postUnpack() {
+    cd $sourceRoot
+    unpackFile $linuxthreadsSrc
+    cd ..
+}
+
+
+preConfigure=preConfigure
+preConfigure() {
+
+    # Use Linuxthreads instead of NPTL.
+    rm -rf nptl
+
+    for i in configure io/ftwtest-sh; do
+        substituteInPlace "$i" \
+            --replace "@PWD@" "pwd"
+    done
+
+    mkdir ../build
+    cd ../build
+    
+    configureScript=../$sourceRoot/configure
+}
+
+
+postConfigure=postConfigure
+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=
+}
+
+
+postInstall=postInstall
+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
+}
+
+
+genericBuild