From 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 14 Jul 2018 21:03:06 +0100 Subject: gentoo resync : 14.07.2018 --- dev-util/confix/Manifest | 12 ++ dev-util/confix/confix-2.3.5-r2.ebuild | 65 +++++++ dev-util/confix/confix-2.3.5-r3.ebuild | 70 +++++++ dev-util/confix/confix-9999.ebuild | 64 +++++++ dev-util/confix/files/2.1.0/jni-hpux.patch | 10 + dev-util/confix/files/2.3.0/exeext.patch | 20 ++ dev-util/confix/files/2.3.0/ext-ac-archive.patch | 35 ++++ dev-util/confix/files/2.3.0/local-libs-first.patch | 39 ++++ dev-util/confix/files/2.3.0/new-automake.patch | 12 ++ .../confix/files/confix-2.3.5-nodist-shar.patch | 44 +++++ .../files/confix-2.3.5-support-no_undefined.patch | 213 +++++++++++++++++++++ dev-util/confix/metadata.xml | 11 ++ 12 files changed, 595 insertions(+) create mode 100644 dev-util/confix/Manifest create mode 100644 dev-util/confix/confix-2.3.5-r2.ebuild create mode 100644 dev-util/confix/confix-2.3.5-r3.ebuild create mode 100644 dev-util/confix/confix-9999.ebuild create mode 100644 dev-util/confix/files/2.1.0/jni-hpux.patch create mode 100644 dev-util/confix/files/2.3.0/exeext.patch create mode 100644 dev-util/confix/files/2.3.0/ext-ac-archive.patch create mode 100644 dev-util/confix/files/2.3.0/local-libs-first.patch create mode 100644 dev-util/confix/files/2.3.0/new-automake.patch create mode 100644 dev-util/confix/files/confix-2.3.5-nodist-shar.patch create mode 100644 dev-util/confix/files/confix-2.3.5-support-no_undefined.patch create mode 100644 dev-util/confix/metadata.xml (limited to 'dev-util/confix') diff --git a/dev-util/confix/Manifest b/dev-util/confix/Manifest new file mode 100644 index 000000000000..a8e8de03c747 --- /dev/null +++ b/dev-util/confix/Manifest @@ -0,0 +1,12 @@ +AUX 2.1.0/jni-hpux.patch 461 BLAKE2B f0ebddbb5c5328711b0053740822767be4105574d02b4de73f33df98900a252ecb6fb35e63d986d0e3e3688138b7a1f5cd1d391667d76b40878b5b4644874c2f SHA512 7b16dcc84c7ecdc4f403daab1b8902dc995fc297f6df27be13a8acb542f253e01f8f1a66b0e3711948631e3618e18dd21e04e7496985c08f60ac10e2ad6b5967 +AUX 2.3.0/exeext.patch 890 BLAKE2B d99c1e76b993d47e048ff9e6c64c4f6dfe6901a7f40f56be272592c52c1f7f21979cd6e47efa9f5c98b801eb20e4b617ebc8c9ed65e0c8df8552979a571f761e SHA512 e9aab2698036cc872dd0c16c14a3594de568bfe9999a5a7dfd2eec5b1612d844b022693747541f005ea6448314d4329bfefbabc0b073dbcfbd9563265a047483 +AUX 2.3.0/ext-ac-archive.patch 1515 BLAKE2B 2234172ae4000ebd63558f70f35164f832a6dbfb8b5ff29f302366e3eba3ed80c0e8a2a5f4a0d492ec747134d7274be9986945f390b77864b517d7bc73757a44 SHA512 26ff04b4fc8b2283b5ca157e96d9c18111b116d3e4585f84ff4da6a89719f74c1b6b20eaa024adc40b321f313705eaa746a5204038ce0cc1ce3e25b11a1b2c8e +AUX 2.3.0/local-libs-first.patch 1871 BLAKE2B f593e7b92a2845cb684a0ef2daa5dc7288b9bef948cce330dddb63d2a555be888d1801e6dd1264f407f9ad9e91a496bc05d2042c5cf2ec2ce766e14cff6d0d62 SHA512 1b6196c7fa4e132c1bd2013e559f4db8b21ea8497c5771cb7bd51e11efae9fd2e4c08af6a07bb6b911961f9e29ec4de683c7a5245a786002eef1f13894a6e533 +AUX 2.3.0/new-automake.patch 573 BLAKE2B cf1d7a8eb39827ef53a7777a61bd5d2ee7f81ffafd6a12806bd5f22a642ae99da386ecc763f54cc62a573770c2bd09437aeae253b91d825229f2234b08a25fe9 SHA512 216e4bcb753107107bb3e0f6e303984b5b282fbe80c72c97e7365c0729a3007b6f960b1ee3c4a311a5b5b81c179ab1daa171da5eec33900e158b8a73cc9f0338 +AUX confix-2.3.5-nodist-shar.patch 2036 BLAKE2B 899ce95bb3f2ee501190f8d5301119d342516130a1a64a2b9b8254546dc80584bd8b0ac216831e0e5bb528642eaa07bf35d203272693d1410ae07eef34775340 SHA512 f76b2b270e67074885230a5e7d26c99aedb21d909e8ff8948c220fd6f841c5c3b845679432630dcf70771ee2f6c9d54ce63268520073786ab2ce65165cc5c66e +AUX confix-2.3.5-support-no_undefined.patch 8388 BLAKE2B 24f3a52619b257c3f15652c000781ac2ee71cba3e7071bd68b80a99319f4016fa836716b76bab90729bf5a9c48c23ab6659648c0b97faed594e59fef663f764f SHA512 279b5dd7a1536c54b8543af82296d8cb10938614364bf65c9e54d99ad7071c0ceb2914da0f6e460b3873796eac0b52107c158c03d53838585533165bf1cccc19 +DIST Confix-2.3.5.tar.bz2 678133 BLAKE2B 7aac9e7a6d3ffd629393e06c76bc13167e6b756a12e46a5d813a6e896c9cfd24ff384d8cda605507df402c1f8492c9759ac35834b1f84450b1e0fe8bf5de783b SHA512 e6adec0cd27e9064dd0f6ff32d2e68deb755631a27759b253a7a176525b515ffc9069b8f28ac48ee6fdb642dfc2098fd2d7d6bd6e4ecccd43cb92df12c48e4c7 +EBUILD confix-2.3.5-r2.ebuild 1988 BLAKE2B 5edbf955f72f3ebc0d490413f9ce87536e9cd38175cbcd4157147bacc42b865be7bbbf5200da2b4479c73f96dc42439aaaa0a72104e8553a3203a519bc102f7e SHA512 8ec55f5345572782c46abc716239dd6597c944f45eed56832c47a4be6d443b0fff09d616c98ba24e7667c7b512719af246b1da52c79a5dcbc573eb50d15f1976 +EBUILD confix-2.3.5-r3.ebuild 2156 BLAKE2B bab243ea9c40aeef21600a6af5101bdd8be08490b813d5947fe961b70765ac58bd910cadde8f4f847e622bfd550df69d6b65ea06cf9c49893ffd09ce7b05da5a SHA512 9120fadad71ff983ca5d0139912bbff034ffdadd74ed2ba9dc6f0a3050a849ef04dc7ff9e1a33a3551109cec6dc402261736b0db1bc571bfeedb20c4c056e1fe +EBUILD confix-9999.ebuild 1914 BLAKE2B 0e5d34ff92d400b72cbea426ee83b5fec5bacc65b6c784c5911b7b54aecea5ac2a8cda45f2e135250d8f5960fceffaadb122f43b2384a61c7debcb58f7815333 SHA512 d2afb4f15fc0953a42b1c174581606a92f9182ddb3cea6e0a5c778e5ff1b03cacecaa7d9e9a1b307e51e08fda779b4126cb8a19763236e5b33e12356a1022baa +MISC metadata.xml 329 BLAKE2B ce9d264f3d40c4c4a7078cfed1f27f93c06420904a98051031a91bc600c33708c10291128b48be7065eb493866d4a15d9140b5933954eba9716a7dde376e001a SHA512 a2e7c1b3ef9b2228e2820c0aa46354d771b518e7a5f854f1f06850840929846b12125b4f526a7f0282b3e9545c5cf7ed670ef2f2047c7deb0c6de40b9667b321 diff --git a/dev-util/confix/confix-2.3.5-r2.ebuild b/dev-util/confix/confix-2.3.5-r2.ebuild new file mode 100644 index 000000000000..d840e82bf489 --- /dev/null +++ b/dev-util/confix/confix-2.3.5-r2.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=1 + +inherit distutils-r1 + +DESCRIPTION="Confix: A Build Tool on Top of GNU Automake" +HOMEPAGE="http://confix.sourceforge.net" +SRC_URI="mirror://sourceforge/confix/Confix-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="~amd64 ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +IUSE="" + +DEPEND="" +RDEPEND="dev-util/confix-wrapper + sys-devel/autoconf-archive + sys-devel/automake + sys-devel/libtool" + +S="${WORKDIR}/Confix-${PV}" + +PATCHES=( # find jni-include dirs on hpux. + "${FILESDIR}"/2.1.0/jni-hpux.patch + # add .exe extension to TESTS + "${FILESDIR}"/2.3.0/exeext.patch + # use external autoconf archive + "${FILESDIR}"/2.3.0/ext-ac-archive.patch + # link local libraries first. + "${FILESDIR}"/2.3.0/local-libs-first.patch + # don't use automake 1.9, but any newer too... + "${FILESDIR}"/2.3.0/new-automake.patch ) + +pkg_setup() { + python-single-r1_pkg_setup +} + +pkg_preinst() { + local RV=2.3.0 + + if has_version "=,;s,/CONTENTS,,')" \ + ")" + ewarn + fi +} diff --git a/dev-util/confix/confix-2.3.5-r3.ebuild b/dev-util/confix/confix-2.3.5-r3.ebuild new file mode 100644 index 000000000000..11af017cd57e --- /dev/null +++ b/dev-util/confix/confix-2.3.5-r3.ebuild @@ -0,0 +1,70 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=1 + +inherit distutils-r1 + +DESCRIPTION="Confix: A Build Tool on Top of GNU Automake" +HOMEPAGE="http://confix.sourceforge.net" +SRC_URI="mirror://sourceforge/confix/Confix-${PV}.tar.bz2" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="~amd64 ~x86 ~ppc-aix ~x64-cygwin ~amd64-linux ~x86-linux ~sparc-solaris ~x86-solaris" +IUSE="" + +DEPEND="" +RDEPEND="dev-util/confix-wrapper + sys-devel/autoconf-archive + sys-devel/automake + sys-devel/libtool" + +S="${WORKDIR}/Confix-${PV}" + +PATCHES=( # find jni-include dirs on hpux. + "${FILESDIR}"/2.1.0/jni-hpux.patch + # add .exe extension to TESTS + "${FILESDIR}"/2.3.0/exeext.patch + # use external autoconf archive + "${FILESDIR}"/2.3.0/ext-ac-archive.patch + # link local libraries first. + "${FILESDIR}"/2.3.0/local-libs-first.patch + # don't use automake 1.9, but any newer too... + "${FILESDIR}"/2.3.0/new-automake.patch + # support -no-undefined libtool flag + "${FILESDIR}"/${P}-support-no_undefined.patch + # drop deprecated 'dist-shar' automake flag + "${FILESDIR}"/${P}-nodist-shar.patch +) + +pkg_setup() { + python-single-r1_pkg_setup +} + +pkg_preinst() { + local RV=2.3.0 + + if has_version "=,;s,/CONTENTS,,')" \ + ")" + ewarn + fi +} diff --git a/dev-util/confix/confix-9999.ebuild b/dev-util/confix/confix-9999.ebuild new file mode 100644 index 000000000000..3cedd69d8468 --- /dev/null +++ b/dev-util/confix/confix-9999.ebuild @@ -0,0 +1,64 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python2_7 ) +DISTUTILS_SINGLE_IMPL=1 + +inherit distutils-r1 subversion + +DESCRIPTION="Confix: A Build Tool on Top of GNU Automake" +HOMEPAGE="http://confix.sourceforge.net" +ESVN_REPO_URI="https://svn.code.sf.net/p/confix/svn/confix/trunk" +ESVN_PROJECT="${PN}" + +LICENSE="GPL-2" +SLOT="2" +KEYWORDS="" +IUSE="" + +DEPEND="" +RDEPEND="dev-util/confix-wrapper + sys-devel/autoconf-archive + sys-devel/automake + sys-devel/libtool" + +PATCHES=( # find jni-include dirs on hpux. + "${FILESDIR}"/2.1.0/jni-hpux.patch + # add .exe extension to TESTS + "${FILESDIR}"/2.3.0/exeext.patch + # use external autoconf archive + "${FILESDIR}"/2.3.0/ext-ac-archive.patch + # link local libraries first. + "${FILESDIR}"/2.3.0/local-libs-first.patch + # don't use automake 1.9, but any newer too... + "${FILESDIR}"/2.3.0/new-automake.patch ) + +pkg_setup() { + python-single-r1_pkg_setup +} + +pkg_preinst() { + local RV=2.3.0 + + if has_version "=,;s,/CONTENTS,,')" \ + ")" + ewarn + fi +} diff --git a/dev-util/confix/files/2.1.0/jni-hpux.patch b/dev-util/confix/files/2.1.0/jni-hpux.patch new file mode 100644 index 000000000000..bd1b626e7bc2 --- /dev/null +++ b/dev-util/confix/files/2.1.0/jni-hpux.patch @@ -0,0 +1,10 @@ +--- Confix-2.0.0pre20/share/confix/autoconf-archive/m4src/ac_jni_include_dir.m4.orig 2007-02-07 21:16:20.000000000 +0100 ++++ Confix-2.0.0pre20/share/confix/autoconf-archive/m4src/ac_jni_include_dir.m4 2007-02-07 21:16:34.000000000 +0100 +@@ -67,6 +67,7 @@ + mingw*) _JNI_INC_SUBDIRS="win32";; + cygwin*) _JNI_INC_SUBDIRS="win32";; + interix*) _JNI_INC_SUBDIRS="win32";; ++hpux*) _JNI_INC_SUBDIRS="hp-ux";; + *) _JNI_INC_SUBDIRS="genunix";; + esac + diff --git a/dev-util/confix/files/2.3.0/exeext.patch b/dev-util/confix/files/2.3.0/exeext.patch new file mode 100644 index 000000000000..98576f5c9f8b --- /dev/null +++ b/dev-util/confix/files/2.3.0/exeext.patch @@ -0,0 +1,20 @@ +diff -ru confix-9999.orig/libconfix/plugins/automake/makefile_am.py confix-9999/libconfix/plugins/automake/makefile_am.py +--- confix-9999.orig/libconfix/plugins/automake/makefile_am.py 2009-10-30 13:20:42.106291175 +0100 ++++ confix-9999/libconfix/plugins/automake/makefile_am.py 2009-10-30 13:23:39.562354663 +0100 +@@ -472,7 +472,15 @@ + + # register automatic tests and set their environment + +- tests = self.dir_primary('check', 'PROGRAMS') + \ ++ test_tmp = self.dir_primary('check', 'PROGRAMS') ++ count = 0 ++ for prog in test_tmp: ++ prog += "$(EXEEXT)" ++ test_tmp[count] = prog ++ count += 1 ++ pass ++ ++ tests = test_tmp + \ + self.dir_primary('check', 'SCRIPTS') + if len(tests): + lines.extend(makefile.List(name='TESTS', values=tests, mitigate=True).lines()) diff --git a/dev-util/confix/files/2.3.0/ext-ac-archive.patch b/dev-util/confix/files/2.3.0/ext-ac-archive.patch new file mode 100644 index 000000000000..32122c95bfe2 --- /dev/null +++ b/dev-util/confix/files/2.3.0/ext-ac-archive.patch @@ -0,0 +1,35 @@ +diff -ru confix-9999.orig/libconfix/plugins/automake/bootstrap.py confix-9999/libconfix/plugins/automake/bootstrap.py +--- confix-9999.orig/libconfix/plugins/automake/bootstrap.py 2009-10-30 13:25:27.962172020 +0100 ++++ confix-9999/libconfix/plugins/automake/bootstrap.py 2009-10-30 13:27:14.780605001 +0100 +@@ -16,7 +16,7 @@ + # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + # USA + +-import autoconf_archive ++#import autoconf_archive + import kde_hack + + from libconfix.core.utils.error import Error +@@ -29,7 +29,7 @@ + + def bootstrap(packageroot, use_kde_hack, argv0, path=None): + aclocal_incdirs = [] +- aclocal_incdirs.append(autoconf_archive.include_path(argv0)) ++ #aclocal_incdirs.append(autoconf_archive.include_path(argv0)) + + # if package's configure.ac looks like using libtool, then we + # assume that the package must be libtoolize'd. +diff -ru confix-9999.orig/setup.py confix-9999/setup.py +--- confix-9999.orig/setup.py 2009-10-30 13:25:27.965360137 +0100 ++++ confix-9999/setup.py 2009-10-30 13:26:47.822129311 +0100 +@@ -41,8 +41,8 @@ + return result + + datafiles = [] +-datafiles.extend(recdir('share/confix/autoconf-archive/m4src', '.m4', [])) +-datafiles.extend(recdir('share/confix/autoconf-archive/htmldoc', '.html', [])) ++#datafiles.extend(recdir('share/confix/autoconf-archive/m4src', '.m4', [])) ++#datafiles.extend(recdir('share/confix/autoconf-archive/htmldoc', '.html', [])) + + # scripts to put in the auxdir. + datafiles.extend([('share/confix/kde-hack', diff --git a/dev-util/confix/files/2.3.0/local-libs-first.patch b/dev-util/confix/files/2.3.0/local-libs-first.patch new file mode 100644 index 000000000000..29d4a7a1cc9d --- /dev/null +++ b/dev-util/confix/files/2.3.0/local-libs-first.patch @@ -0,0 +1,39 @@ +With libtool, link local libraries with /path/to/libfile.la instead of libpath, +to avoid encoding local libpath into installed la-file. +These also have to be linked first, to avoid finding already installed +libraries of previous versions during libtool-relink. +diff -ru Confix-2.3.0.orig/libconfix/plugins/automake/c/out_c.py Confix-2.3.0/libconfix/plugins/automake/c/out_c.py +--- Confix-2.3.0.orig/libconfix/plugins/automake/c/out_c.py 2010-07-06 12:55:59.286540943 +0200 ++++ Confix-2.3.0/libconfix/plugins/automake/c/out_c.py 2010-07-06 13:01:23.574428852 +0200 +@@ -411,6 +411,8 @@ + """ + assert isinstance(linked_builder, LinkedBuilder) + ++ local_paths = [] ++ local_libraries = [] + native_paths = [] + native_libraries = [] + external_linkline = [] +@@ -424,8 +426,11 @@ + + for bi in native_libs_to_use: + if isinstance(bi, BuildInfo_CLibrary_NativeLocal): +- native_paths.append('-L'+'/'.join(['$(top_builddir)']+bi.dir())) +- native_libraries.append('-l'+bi.basename()) ++ if self.__use_libtool: ++ local_libraries.append('/'.join(['$(top_builddir)']+bi.dir()+['lib'+bi.basename()+'.la'])) ++ else: ++ local_paths.append('-L'+'/'.join(['$(top_builddir)']+bi.dir())) ++ local_libraries.append('-l'+bi.basename()) + continue + if isinstance(bi, BuildInfo_CLibrary_NativeInstalled): + using_installed_library = True +@@ -447,7 +452,7 @@ + external_linkline.extend(elem) + pass + +- return native_paths + native_libraries + external_linkline ++ return local_paths + local_libraries + native_paths + native_libraries + external_linkline + + def external_libpath(self): + """ For unit tests only. """ diff --git a/dev-util/confix/files/2.3.0/new-automake.patch b/dev-util/confix/files/2.3.0/new-automake.patch new file mode 100644 index 000000000000..d6f24a4cae81 --- /dev/null +++ b/dev-util/confix/files/2.3.0/new-automake.patch @@ -0,0 +1,12 @@ +diff -ru Confix-2.3.0.orig/libconfix/plugins/automake/out_automake.py Confix-2.3.0/libconfix/plugins/automake/out_automake.py +--- Confix-2.3.0.orig/libconfix/plugins/automake/out_automake.py 2010-07-12 13:15:49.254867387 +0200 ++++ Confix-2.3.0/libconfix/plugins/automake/out_automake.py 2010-07-12 13:17:29.755908602 +0200 +@@ -170,7 +170,7 @@ + + + # our minimum required automake version is 1.9 +- self.makefile_am().add_automake_options('1.9') ++ # self.makefile_am().add_automake_options('1.9') + + + # enable dist'ing in the following formats diff --git a/dev-util/confix/files/confix-2.3.5-nodist-shar.patch b/dev-util/confix/files/confix-2.3.5-nodist-shar.patch new file mode 100644 index 000000000000..bccc437de44c --- /dev/null +++ b/dev-util/confix/files/confix-2.3.5-nodist-shar.patch @@ -0,0 +1,44 @@ +------------------------------------------------------------------------ +r961 | mhaubi | 2017-09-26 15:34:00 +0200 (Tue, 26 Sep 2017) | 1 line + +drop 'dist-shar', deprecated by newer automake + +Index: doc/confix.texi +=================================================================== +#--- doc/confix.texi (revision 960) +#+++ doc/confix.texi (working copy) +#@@ -992,9 +992,6 @@ + @code{dist-bzip2} creates a @file{.tar.bz2} distribution. + + @item +-@code{dist-shar} creates a shell archive distribution. +- +-@item + @code{dist-zip} create a zip file (popular on Windows). + + @item +Index: libconfix/plugins/automake/out_automake.py +=================================================================== +--- libconfix/plugins/automake/out_automake.py (revision 960) ++++ libconfix/plugins/automake/out_automake.py (working copy) +@@ -175,7 +175,6 @@ + + # enable dist'ing in the following formats + self.makefile_am().add_automake_options('dist-bzip2') +- self.makefile_am().add_automake_options('dist-shar') + self.makefile_am().add_automake_options('dist-zip') + + +Index: libconfix/plugins/automake/tests/output.py +=================================================================== +--- libconfix/plugins/automake/tests/output.py (revision 960) ++++ libconfix/plugins/automake/tests/output.py (working copy) +@@ -146,7 +146,7 @@ + + self.failUnless('1.9' in rootdir_automake_builder.makefile_am().automake_options()) + self.failUnless('dist-bzip2' in rootdir_automake_builder.makefile_am().automake_options()) +- self.failUnless('dist-shar' in rootdir_automake_builder.makefile_am().automake_options()) ++ self.failUnless('dist-shar' not in rootdir_automake_builder.makefile_am().automake_options()) + self.failUnless('dist-zip' in rootdir_automake_builder.makefile_am().automake_options()) + self.failUnless(const.CONFIX2_DIR in rootdir_automake_builder.makefile_am().extra_dist()) + self.failUnless(const.CONFIX2_PKG in rootdir_automake_builder.makefile_am().extra_dist()) diff --git a/dev-util/confix/files/confix-2.3.5-support-no_undefined.patch b/dev-util/confix/files/confix-2.3.5-support-no_undefined.patch new file mode 100644 index 000000000000..a6ffaae89c98 --- /dev/null +++ b/dev-util/confix/files/confix-2.3.5-support-no_undefined.patch @@ -0,0 +1,213 @@ +------------------------------------------------------------------------ +r960 | mhaubi | 2017-09-26 14:51:18 +0200 (Tue, 26 Sep 2017) | 10 lines + +add 'has_undefined_symbols' property for libraries + +Windows does not support undefined symbols in shared libraries, +so libtool refuses to create DLLs without the -no-undefined flag. + +Adding explicit HAS_UNDEFINED_SYMBOLS(False) api call per library, +and the optional (has_undefined_symbols=False) argument to AutoC(). + +For backwards compatibility, default is (has_undefined_symbols=True). + +------------------------------------------------------------------------ +Index: libconfix/plugins/automake/c/out_c.py +=================================================================== +--- libconfix/plugins/automake/c/out_c.py (revision 959) ++++ libconfix/plugins/automake/c/out_c.py (revision 960) +@@ -487,6 +487,9 @@ + elif b.default_version() is not None: + automake_output_builder.makefile_am().add_compound_ldflags(automakelibname, '-release '+b.default_version()) + pass ++ if b.has_undefined_symbols() is False: ++ automake_output_builder.makefile_am().add_compound_ldflags(automakelibname, '-no-undefined') ++ pass + pass + else: + automake_output_builder.configure_ac().add_paragraph( +Index: libconfix/plugins/c/clusterer.py +=================================================================== +--- libconfix/plugins/c/clusterer.py (revision 959) ++++ libconfix/plugins/c/clusterer.py (revision 960) +@@ -33,7 +33,7 @@ + import types + + class CClustererSetup(Setup): +- def __init__(self, linkednamefinder=None): ++ def __init__(self, linkednamefinder=None, has_undefined_symbols=True): + assert linkednamefinder is None or isinstance(linkednamefinder, NameFinder) + Setup.__init__(self) + if linkednamefinder is None: +@@ -41,10 +41,11 @@ + else: + self.__namefinder = linkednamefinder + pass ++ self.__has_undefined_symbols = has_undefined_symbols + pass + + def setup(self, dirbuilder): +- clusterer = CClusterer(namefinder=self.__namefinder) ++ clusterer = CClusterer(namefinder=self.__namefinder, has_undefined_symbols=self.__has_undefined_symbols) + dirbuilder.add_builder(clusterer) + dirbuilder.add_interface(CClustererInterfaceProxy(clusterer=clusterer)) + pass +@@ -51,11 +52,12 @@ + pass + + class CClusterer(Builder): +- def __init__(self, namefinder): ++ def __init__(self, namefinder, has_undefined_symbols=True): + Builder.__init__(self) + self.__namefinder = namefinder + self.__libname = None + self.__libtool_version_info = None ++ self.__has_undefined_symbols = has_undefined_symbols + pass + + def shortname(self): +@@ -85,6 +87,15 @@ + pass + pass + ++ def set_has_undefined_symbols(self, has_undefined_symbols): ++ self.__has_undefined_symbols = has_undefined_symbols ++ for builder in self.parentbuilder().iter_builders(): ++ if isinstance(builder, LibraryBuilder): ++ builder.set_has_undefined_symbols(has_undefined_symbols) ++ break ++ pass ++ pass ++ + def enlarge(self): + super(CClusterer, self).enlarge() + +@@ -163,7 +174,8 @@ + LibraryBuilder( + basename=libname, + version=self.__libtool_version_info, +- default_version=self.package().version())) ++ default_version=self.package().version(), ++ has_undefined_symbols=self.__has_undefined_symbols)) + for b in itertools.chain(nomain_builders, header_builders): + library.add_member(b) + pass +@@ -229,6 +241,13 @@ + pass + self.__clusterer.set_libtool_version_info(version) + pass ++ ++ def HAS_UNDEFINED_SYMBOLS(self, has_undefined_symbols): ++ if type(has_undefined_symbols) is not types.BooleanType: ++ raise Error("HAS_UNDEFINED_SYMBOLS(): 'has_undefined_symbols' argument must be a boolean") ++ self.__clusterer.set_has_undefined_symbols(has_undefined_symbols) ++ pass ++ + pass + + class NameFinder: +Index: libconfix/plugins/c/explicit_iface.py +=================================================================== +--- libconfix/plugins/c/explicit_iface.py (revision 959) ++++ libconfix/plugins/c/explicit_iface.py (revision 960) +@@ -104,7 +104,7 @@ + self.__dirbuilder.add_builder(yacc) + return yacc + +- def LIBRARY(self, members, basename=None, version=None): ++ def LIBRARY(self, members, basename=None, version=None, undefined_symbols=True): + the_basename = basename + if the_basename is None: + the_basename=LongNameFinder().find_libname( +@@ -113,7 +113,8 @@ + pass + library = LibraryBuilder(basename=the_basename, + version=version, +- default_version=self.__dirbuilder.package().version()) ++ default_version=self.__dirbuilder.package().version(), ++ has_undefined_symbols=undefined_symbols) + for m in members: + library.add_member(m) + pass +Index: libconfix/plugins/c/library.py +=================================================================== +--- libconfix/plugins/c/library.py (revision 959) ++++ libconfix/plugins/c/library.py (revision 960) +@@ -25,7 +25,8 @@ + def __init__(self, + basename, + version, +- default_version): ++ default_version, ++ has_undefined_symbols): + + # library version. passed to libtool as "-version-info + # ::", for example. +@@ -40,6 +41,7 @@ + self.__basename = basename + self.__version = version + self.__default_version = default_version ++ self.__has_undefined_symbols = has_undefined_symbols + + self.__buildinfo_added = False + +@@ -82,6 +84,10 @@ + super(LibraryBuilder, self).force_enlarge() + pass + ++ def set_has_undefined_symbols(self, has_undefined_symbols): ++ self.__has_undefined_symbols = has_undefined_symbols ++ pass ++ + def version(self): + return self.__version + +@@ -88,4 +94,7 @@ + def default_version(self): + return self.__default_version + ++ def has_undefined_symbols(self): ++ return self.__has_undefined_symbols ++ + pass +Index: libconfix/plugins/c/setups/default_setup.py +=================================================================== +--- libconfix/plugins/c/setups/default_setup.py (revision 959) ++++ libconfix/plugins/c/setups/default_setup.py (revision 960) +@@ -25,8 +25,8 @@ + + from libconfix.core.machinery.setup import CompositeSetup + +-def make_core_setups(linkednamefinder): +- return [CClustererSetup(linkednamefinder=linkednamefinder), ++def make_core_setups(linkednamefinder, has_undefined_symbols): ++ return [CClustererSetup(linkednamefinder=linkednamefinder, has_undefined_symbols=has_undefined_symbols), + CCreatorSetup(), + CommonInterfaceSetup(), + RelocatedHeadersSetup(), +@@ -34,8 +34,9 @@ + + class DefaultCSetup(CompositeSetup): + def __init__(self, +- linkednamefinder=None): +- setups = make_core_setups(linkednamefinder=linkednamefinder) ++ linkednamefinder=None, ++ has_undefined_symbols=True): ++ setups = make_core_setups(linkednamefinder=linkednamefinder, has_undefined_symbols=has_undefined_symbols) + setups.append(ImplicitInterfaceSetup()) + CompositeSetup.__init__( + self, +Index: libconfix/setups/c.py +=================================================================== +--- libconfix/setups/c.py (revision 959) ++++ libconfix/setups/c.py (revision 960) +@@ -26,7 +26,7 @@ + pass + + class AutoC(CompositeSetup): +- def __init__(self, libnamefinder=None): +- CompositeSetup.__init__(self, [DefaultCSetup(libnamefinder)]) ++ def __init__(self, libnamefinder=None, has_undefined_symbols=True): ++ CompositeSetup.__init__(self, [DefaultCSetup(libnamefinder, has_undefined_symbols=has_undefined_symbols)]) + pass + pass diff --git a/dev-util/confix/metadata.xml b/dev-util/confix/metadata.xml new file mode 100644 index 000000000000..5cbfb3aa5288 --- /dev/null +++ b/dev-util/confix/metadata.xml @@ -0,0 +1,11 @@ + + + + + haubi@gentoo.org + Michael Haubenwallner + + + confix + + -- cgit v1.2.3