From 61adbd28db5189c97ecac8d4aae9dfb566d643f6 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Tue, 21 Oct 2008 05:27:22 +0200 Subject: [PATCH] Added glibc-2.8 (tarball taken from archlinux). While here add a new variable for templates: disable_ldflags. If set LDFLAGS won't be used while building the package, it was required by glibc which refused to link with a rpath set. --HG-- extra : convert_revision : 14c547aa7470145c883ca982c517c50ca8f15fc5 --- templates/glibc-runstuff-before-configure.sh | 4 ++++ templates/glibc.tmpl | 23 ++++++++++++++++++++ xbps.sh | 15 +++++++++---- 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 templates/glibc-runstuff-before-configure.sh create mode 100644 templates/glibc.tmpl diff --git a/templates/glibc-runstuff-before-configure.sh b/templates/glibc-runstuff-before-configure.sh new file mode 100644 index 00000000000..1ea9dcbdf4f --- /dev/null +++ b/templates/glibc-runstuff-before-configure.sh @@ -0,0 +1,4 @@ +# We must configure it in another directory. + +$mkdir_cmd -p $wrksrc/build_obj && cd $wrksrc/build_obj +wrksrc=$wrksrc/build_obj diff --git a/templates/glibc.tmpl b/templates/glibc.tmpl new file mode 100644 index 00000000000..5f1b56643de --- /dev/null +++ b/templates/glibc.tmpl @@ -0,0 +1,23 @@ +# Template file for 'glibc' +pkgname=glibc +version=2.8 +wrksrc="libc" +distfiles="ftp://ftp.archlinux.org/other/glibc/$pkgname-2.8_20080828@.tar.bz2" +build_style=gnu_configure +unset LD_LIBRARY_PATH +disable_ldflags=yes +configure_script="$env_cmd CC=$XBPS_MASTERDIR/bin/gcc + CXX=$XBPS_MASTERDIR/bin/g++ CPP=$XBPS_MASTERDIR/bin/cpp + LD=$XBPS_MASTERDIR/bin/ld AS=$XBPS_MASTERDIR/bin/as ../configure" +configure_args="--with-tls -disable-profile --with-__thread + --enable-kernel=2.6.16 --enable-add-ons --without-gd --enable-bind-now + --without-cvs --without-selinux" +short_desc="The GNU C library" +maintainer="Juan RP " +checksum=f5756668f201e093cae0404e59dcf8c43ccc07757fd0a7455298ed89126c366a +long_desc=" + The GNU C Library is the standard system C library for all GNU systems, + and is an important part of what makes up a GNU system. It provides the + system API for all programs written in C and C-compatible languages such + as C++ and Objective C; the runtime facilities of other programming + languages use the C library to access the underlying operating system." diff --git a/xbps.sh b/xbps.sh index 5669fcc85a7..ad8a9ba72a2 100755 --- a/xbps.sh +++ b/xbps.sh @@ -269,7 +269,7 @@ reset_tmpl_vars() run_stuff_before_install_cmd run_stuff_after_install_cmd \ make_install_target postinstall_helpers version \ ignore_files tar_override_cmd xml_entries sgml_entries \ - make_install_prefix build_depends \ + make_install_prefix build_depends disable_ldflags \ XBPS_EXTRACT_DONE XBPS_CONFIGURE_DONE \ XBPS_BUILD_DONE XBPS_INSTALL_DONE" @@ -597,14 +597,21 @@ fixup_tmpl_libtool() set_build_vars() { - LDFLAGS="-L$XBPS_MASTERDIR/lib -Wl,-R$XBPS_MASTERDIR/lib $LDFLAGS" - LDFLAGS="-L$XBPS_DESTDIR/$pkgname-$version/lib $LDFLAGS" + if [ -z "$disable_ldflags" ]; then + LDFLAGS="-L$XBPS_MASTERDIR/lib -Wl,-R$XBPS_MASTERDIR/lib $LDFLAGS" + LDFLAGS="-L$XBPS_DESTDIR/$pkgname-$version/lib $LDFLAGS" + fi + CFLAGS="$CFLAGS $XBPS_CFLAGS" CXXFLAGS="$CXXFLAGS $XBPS_CXXFLAGS" CPPFLAGS="-I$XBPS_MASTERDIR/include $CPPFLAGS" PKG_CONFIG="$XBPS_MASTERDIR/bin/pkg-config" - export LDFLAGS="$LDFLAGS" CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" + if [ -z "$disable_ldflags" ]; then + export LDFLAGS="$LDFLAGS" + fi + + export CFLAGS="$CFLAGS" CXXFLAGS="$CXXFLAGS" export CPPFLAGS="$CPPFLAGS" PKG_CONFIG="$PKG_CONFIG" }