From c818c7ed3af77d88cbbd6c7b0a15bcdede28fd07 Mon Sep 17 00:00:00 2001 From: Scott McCreary Date: Wed, 8 Jan 2014 20:49:07 -0800 Subject: [PATCH] Updated libtool to 2.4.2 --- sys-devel/libtool/libtool-2.4.2.recipe | 92 ++++++++++++++++--- .../2.4.2/adjust_config_for_packaging.patch | 17 ++++ .../2.4.2/remove_help2man_dependency.patch | 21 +++++ 3 files changed, 116 insertions(+), 14 deletions(-) create mode 100644 sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch create mode 100644 sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch diff --git a/sys-devel/libtool/libtool-2.4.2.recipe b/sys-devel/libtool/libtool-2.4.2.recipe index a81f7819f..3796cd4ad 100644 --- a/sys-devel/libtool/libtool-2.4.2.recipe +++ b/sys-devel/libtool/libtool-2.4.2.recipe @@ -1,32 +1,96 @@ -DESCRIPTION="libtool - a generic library support script" -HOMEPAGE="http://www.gnu.org/software/libtool" +SUMMARY="A generic library support script" +DESCRIPTION=" + GNU libtool is a set of shell scripts to automatically configure UNIX + architectures to build shared libraries in a generic fashion. + " +HOMEPAGE="http://www.gnu.org/software/libtool" +COPYRIGHT="2004-2010 Free Software Foundation, Inc." +LICENSE="GNU GPL v2" SRC_URI="ftp://ftp.gnu.org/gnu/libtool/libtool-2.4.2.tar.gz" CHECKSUM_MD5="d2f3b7d4627e69e13514a40e72a24d50" REVISION="1" -STATUS_HAIKU="stable" -DEPEND="" +ARCHITECTURES="x86_gcc2 x86 x86_64" + +PATCHES=" + 2.4.2/adjust_config_for_packaging.patch + 2.4.2/remove_help2man_dependency.patch + " + +PROVIDES=" + libtool = $portVersion compat >= 2.4 + cmd:libtool = $portVersion compat >= 2.4 + cmd:libtoolize = $portVersion compat >= 2.4 + devel:libltdl = 7.3.0 compat >= 7 + " +REQUIRES=" + haiku >= $haikuVersion + libtool_libltdl == $portVersion base + cmd:aclocal + cmd:automake + cmd:sed + cmd:tar + " +BUILD_REQUIRES=" + " +BUILD_PREREQUIRES=" + haiku_devel >= $haikuVersion + cmd:aclocal + cmd:autoconf >= 2.62 + cmd:autoheader >= 2.62 + cmd:gcc + cmd:ld + cmd:make + cmd:nm + cmd:ranlib + cmd:sed + " + + BUILD() { - cd libtool-2.4.2 ./bootstrap - ./configure --prefix=`finddir B_COMMON_DIRECTORY` \ - --datarootdir=`finddir B_COMMON_DATA_DIRECTORY` \ - --infodir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/info \ - --mandir=`finddir B_COMMON_DOCUMENTATION_DIRECTORY`/man - make + SED='sed' NM='nm' LD=ld runConfigure ./configure \ + --with-gnu-ld + make $jobArgs + # Desperate move to remove the absolute paths from libtool. For some reason + # only for the C++ compiler those are set (not for the C compiler). In + # openSuse libtool doesn't have those variables set either, but building + # according to their libroot.spec produces a libtool that has them set as + # well. My guess is that one has to build libtool without a C++ compiler + # installed to get that result. + sed -i -e 's@^predep_objects=".*"$@predep_objects=""'@ \ + -e 's@^postdep_objects=".*"$@postdep_objects=""'@ \ + -e 's@^postdeps=".*"$@postdeps=""'@ \ + -e 's@^compiler_lib_search_path=".*"$@compiler_lib_search_path=""'@ \ + -e 's@^compiler_lib_search_dirs=".*"$@compiler_lib_search_dirs=""'@ \ + libtool } INSTALL() { - cd libtool-2.4.2 make install + prepareInstalledDevelLibs libltdl + + # libltdl package + packageEntries libltdl \ + $libDir/libltdl* + + # main package + rmdir $libDir } TEST() { - cd libtool-2.4.2 make check } -LICENSE="GNU GPL v2" -COPYRIGHT="2004-2011 Free Software Foundation, Inc." +# ----- libltdl package ------------------------------------------------------- + +SUMMARY_libltdl="The libtool libltdl library" +PROVIDES_libltdl=" + libtool_libltdl = $portVersion compat >= 2.4 + lib:libltdl = 7.3.0 compat >= 7 + " +REQUIRES_libltdl=" + haiku >= $haikuVersion + " diff --git a/sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch b/sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch new file mode 100644 index 000000000..c0c492015 --- /dev/null +++ b/sys-devel/libtool/patches/2.4.2/adjust_config_for_packaging.patch @@ -0,0 +1,17 @@ +Adjust haiku configuration of upstream libtool for packaging. + +diff -ruwN libtool-2.4.2/libltdl/m4/libtool.m4 libtool-2.4.2_haiku/libltdl/m4/libtool.m4 +--- libtool-2.4.2/libltdl/m4/libtool.m4 2010-09-22 10:41:19.021233664 +0200 ++++ libtool-2.4.2_haiku/libltdl/m4/libtool.m4 2013-04-27 21:00:11.784859136 +0200 +@@ -2473,8 +2473,9 @@ + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LIBRARY_PATH + shlibpath_overrides_runpath=yes +- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' +- hardcode_into_libs=yes ++ sys_lib_search_path_spec='/boot/common/non-packaged/lib /boot/common/develop/lib /boot/common/lib /boot/system/develop/lib' ++ sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/common/non-packaged/lib /boot/common/lib /boot/system/lib' ++ hardcode_into_libs=no + ;; + + hpux9* | hpux10* | hpux11*) diff --git a/sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch b/sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch new file mode 100644 index 000000000..4b3a62fce --- /dev/null +++ b/sys-devel/libtool/patches/2.4.2/remove_help2man_dependency.patch @@ -0,0 +1,21 @@ +diff --git a/Makefile.am b/Makefile.am +index 268b399..a8236c1 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -328,16 +328,6 @@ $(srcdir)/doc/notes.txt: $(srcdir)/doc/notes.texi + $(MAKEINFO) --no-headers $(MAKEINFOFLAGS) -o notes.txt notes.texi + + dist_man1_MANS = $(srcdir)/doc/libtool.1 $(srcdir)/doc/libtoolize.1 +-MAINTAINERCLEANFILES += $(dist_man1_MANS) +-update_mans = \ +- PATH=".$(PATH_SEPARATOR)$$PATH"; export PATH; \ +- $(HELP2MAN) --output=$@ +-$(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh +- $(update_mans) --help-option=--help-all libtool +-$(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in +- $(update_mans) libtoolize +- +- + ## ------------- ## + ## Installation. ## + ## ------------- ##