summaryrefslogtreecommitdiff
path: root/dev-util/confix
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util/confix')
-rw-r--r--dev-util/confix/Manifest14
-rw-r--r--dev-util/confix/confix-2.3.5-r2.ebuild65
-rw-r--r--dev-util/confix/confix-2.3.5-r3.ebuild70
-rw-r--r--dev-util/confix/confix-9999.ebuild64
-rw-r--r--dev-util/confix/files/2.1.0/jni-hpux.patch10
-rw-r--r--dev-util/confix/files/2.3.0/exeext.patch20
-rw-r--r--dev-util/confix/files/2.3.0/ext-ac-archive.patch35
-rw-r--r--dev-util/confix/files/2.3.0/local-libs-first.patch39
-rw-r--r--dev-util/confix/files/2.3.0/new-automake.patch12
-rw-r--r--dev-util/confix/files/confix-2.3.5-nodist-shar.patch44
-rw-r--r--dev-util/confix/files/confix-2.3.5-support-no_undefined.patch213
-rw-r--r--dev-util/confix/metadata.xml11
12 files changed, 597 insertions, 0 deletions
diff --git a/dev-util/confix/Manifest b/dev-util/confix/Manifest
new file mode 100644
index 000000000000..7c891bab09af
--- /dev/null
+++ b/dev-util/confix/Manifest
@@ -0,0 +1,14 @@
+AUX 2.1.0/jni-hpux.patch 461 SHA256 7b53466e987f738a34adaca8cbd8266265f43985ba7bddb02f100f068ca946e3 SHA512 7b16dcc84c7ecdc4f403daab1b8902dc995fc297f6df27be13a8acb542f253e01f8f1a66b0e3711948631e3618e18dd21e04e7496985c08f60ac10e2ad6b5967 WHIRLPOOL 20d3e7988e0cf442558b78c52272b2737e96546d25133055bd47841d827b48a2f9b9ef128cf8eab25285462572015b4bf36311ef87ec2bc6687e761b0be89c7c
+AUX 2.3.0/exeext.patch 890 SHA256 eeb76fd3eddc2665f9cbbc4379c0d75e5e9c2e6363bf7f3157e6c81c997dfd15 SHA512 e9aab2698036cc872dd0c16c14a3594de568bfe9999a5a7dfd2eec5b1612d844b022693747541f005ea6448314d4329bfefbabc0b073dbcfbd9563265a047483 WHIRLPOOL 19e246a20ef935bac0157716f40889297d5fd35f3c4d2d0279963e2a7bf1e45208131d776c8778c60eade88360bca0601346cd3ee855d806c6fa2177823e710a
+AUX 2.3.0/ext-ac-archive.patch 1515 SHA256 6713126639eaffa18ec22d5c7c4e3091b0bf3efa7a7d2c9b9011a7b6e95be99d SHA512 26ff04b4fc8b2283b5ca157e96d9c18111b116d3e4585f84ff4da6a89719f74c1b6b20eaa024adc40b321f313705eaa746a5204038ce0cc1ce3e25b11a1b2c8e WHIRLPOOL 2165933aabceb028fbc18d1ddf9336528622dac7d23e071ad75d5abbaf37eef429813f42f4716d14bcaaed505006305fa934496e1b3a24bd8a417ee37be405f6
+AUX 2.3.0/local-libs-first.patch 1871 SHA256 5a4ac9bfe8778c10952b5e0cfa33c835b8dd5f66d64f9fcd251fffd0b19c9459 SHA512 1b6196c7fa4e132c1bd2013e559f4db8b21ea8497c5771cb7bd51e11efae9fd2e4c08af6a07bb6b911961f9e29ec4de683c7a5245a786002eef1f13894a6e533 WHIRLPOOL 5e431e5ebe9b3b725155a1f82e6519a21daa4760fd3c02e5e7516e20b99c3011211be5579b2b0377df2d9cd8d344e7ba8bdf8d05ac5b7cdc08d5ef0667f37909
+AUX 2.3.0/new-automake.patch 573 SHA256 28190dc46beee0f163a9f64d8e523232d73864948cc06e9e9e35b98645df160e SHA512 216e4bcb753107107bb3e0f6e303984b5b282fbe80c72c97e7365c0729a3007b6f960b1ee3c4a311a5b5b81c179ab1daa171da5eec33900e158b8a73cc9f0338 WHIRLPOOL 3b711789b29d4108ae5d911c4b62f207af4370d78d56655302dbced3905483165f9e2e60bf83e6daa02432e86119a015e66a1681eeace66e30c9fc9d1d00ed10
+AUX confix-2.3.5-nodist-shar.patch 2036 SHA256 20ea452ec6d3c7e64f2d7d6b58e333494845de071fb8001041f06c49a640ecb0 SHA512 f76b2b270e67074885230a5e7d26c99aedb21d909e8ff8948c220fd6f841c5c3b845679432630dcf70771ee2f6c9d54ce63268520073786ab2ce65165cc5c66e WHIRLPOOL 551bb81639c1dcbe6a9a297717fa57010dad12a938da55d49b661c6c956f026099178b789e386e1a369e8aa7d723422acf3f6f8dd76125330fd4108e1d7784f5
+AUX confix-2.3.5-support-no_undefined.patch 8388 SHA256 87f19b65e9ab233cfe7b8a14663149a202d9b666dcc9deba0f63e309539e563d SHA512 279b5dd7a1536c54b8543af82296d8cb10938614364bf65c9e54d99ad7071c0ceb2914da0f6e460b3873796eac0b52107c158c03d53838585533165bf1cccc19 WHIRLPOOL 58e4c4c1e5d9716c6e7d605384f624a2a21a42f7260c3bd58341563f1982f59fb17987aaf5be60a038147b1bcc38a872ca57a15ffde0e1fe62418dd14e728350
+DIST Confix-2.3.5.tar.bz2 678133 SHA256 b1a2814526c908ab32d6cfd3f0e8b8105c925a7e8ac1802c4b0856d44a2a9916 SHA512 e6adec0cd27e9064dd0f6ff32d2e68deb755631a27759b253a7a176525b515ffc9069b8f28ac48ee6fdb642dfc2098fd2d7d6bd6e4ecccd43cb92df12c48e4c7 WHIRLPOOL e9412d3a4619679301f8816fd4de3a267cf3b9ed57967bbbb29bd8219147f8c1643b4e610d06a8de5433ca3f4101b689e351717d386c86fd34c3725e48666bde
+EBUILD confix-2.3.5-r2.ebuild 1988 SHA256 7bce18fbc47ce53b153b2f9ab1ccc5350ee4296c491e41f1ef93d4d5a9ee88f3 SHA512 8ec55f5345572782c46abc716239dd6597c944f45eed56832c47a4be6d443b0fff09d616c98ba24e7667c7b512719af246b1da52c79a5dcbc573eb50d15f1976 WHIRLPOOL f4b8d882aa0882d5a0ef22564ed40e7415e4e64ae4503dfa8bb554817225bfb6de841fa84ed3b28513c5a340a7378b771ebadf1bcfca0b511f5baa81ccacc721
+EBUILD confix-2.3.5-r3.ebuild 2156 SHA256 02cc29f3b5b843cdad7263f3a361598e990c4fd6b2d4bd1b420add24ef8d949a SHA512 9120fadad71ff983ca5d0139912bbff034ffdadd74ed2ba9dc6f0a3050a849ef04dc7ff9e1a33a3551109cec6dc402261736b0db1bc571bfeedb20c4c056e1fe WHIRLPOOL 784270040ab3ee0191c7ecf18eed9316975f798c5a66c8f49525a2a9d74fbec513e7b03906b44f6b49558de6004ef49f2050957a179eba25586b1802d158e663
+EBUILD confix-9999.ebuild 1914 SHA256 2fc20fb6966f4fbc6974fb3d662e599a3dae1c7c7ea33a0975f2f8ce40304288 SHA512 d2afb4f15fc0953a42b1c174581606a92f9182ddb3cea6e0a5c778e5ff1b03cacecaa7d9e9a1b307e51e08fda779b4126cb8a19763236e5b33e12356a1022baa WHIRLPOOL 09b9ac50583695b22c2b08d402cf04b2704ca6d46b5e34fdc21d7edadb887d499f3be49ed940f10f8dd05788bfb945955fb6cfcb4f2f3e8af684ab947f510bc2
+MISC ChangeLog 3074 SHA256 df11f3be358c3def833a35bb06b2631715e5105515affd68085d49208ae69880 SHA512 ae0038a77ad26e7725207642d338983d3c7ed6325d260eb00ff943b5104d12dcbafb27c744a0086d1f4cf9762afafcd62ec2ac88ff6cb890e894f22ad6eb0c03 WHIRLPOOL 5c3bf006de80b670201f5f21534a74dab2912eea8c113055f9d5afdd903006a14def80f2698a60df8c84a98eaa62da41e03275f86b913e08a36e7cad45015c35
+MISC ChangeLog-2015 4401 SHA256 cfdd8283ca2855b629fbbb3f0bd2dfe86363901ac80fa5ba38547a17d49b71b9 SHA512 357cf74e01bbc1abe8977335d1621eefe30eadb16b00e4137ec3bbf99c46f182955312e810dca621b536c47a7f5bc1d24cea8746efcf819ef23fc162079d2083 WHIRLPOOL fc839d73f4f513720f2ac2bddf819bebc0fa7252949a567a0d9e2c1ffe696aafd35d0b72f30873584575bc228be3c3d1b5d3a44f39ba04a749ea168ff52a2881
+MISC metadata.xml 329 SHA256 8c64fecbedb8352c409df53a00630939fa11c7f669185703f306e2003b876873 SHA512 a2e7c1b3ef9b2228e2820c0aa46354d771b518e7a5f854f1f06850840929846b12125b4f526a7f0282b3e9545c5cf7ed670ef2f2047c7deb0c6de40b9667b321 WHIRLPOOL 21bb8468d0e8d5986bdee662f8b26695db6b8a1bf3c793b5607448f4d285dc6bb38fe253adce31a6ae79251d05e99857fdd62d0192b20f81a3bad08e53931ccc
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 "<dev-util/confix-${RV}"; then
+ einfo "After merging ${P} you might have to remerge all packages built"
+ einfo "with <dev-util/confix-${RV} in your EPREFIX to get all the"
+ einfo "repo files useable with current ${PN}".
+ ewarn
+ ewarn "Use this command (copy&paste) to identify packages built with confix"
+ ewarn "needing a remerge in your particular instance of Gentoo Prefix:"
+ ewarn
+ # use 'echo' to get this command from here:
+ ewarn "( cd \$(portageq envvar EPREFIX)/var/db/pkg || exit 1;" \
+ "pattern=\$(cd ../../.. && echo \$(ls -d" \
+ "usr/share/confix*/repo | grep -v confix-${RV}) |" \
+ "sed -e 's, ,|,g'); if [[ -z \${pattern} ]]; then echo" \
+ "'No more packages were built with broken Confix.'; exit 0;" \
+ "fi; emerge --ask --oneshot \$(grep -lE \"(\${pattern})\"" \
+ "*/*/CONTENTS | sed -e 's,^,>=,;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 "<dev-util/confix-${RV}"; then
+ einfo "After merging ${P} you might have to remerge all packages built"
+ einfo "with <dev-util/confix-${RV} in your EPREFIX to get all the"
+ einfo "repo files useable with current ${PN}".
+ ewarn
+ ewarn "Use this command (copy&paste) to identify packages built with confix"
+ ewarn "needing a remerge in your particular instance of Gentoo Prefix:"
+ ewarn
+ # use 'echo' to get this command from here:
+ ewarn "( cd \$(portageq envvar EPREFIX)/var/db/pkg || exit 1;" \
+ "pattern=\$(cd ../../.. && echo \$(ls -d" \
+ "usr/share/confix*/repo | grep -v confix-${RV}) |" \
+ "sed -e 's, ,|,g'); if [[ -z \${pattern} ]]; then echo" \
+ "'No more packages were built with broken Confix.'; exit 0;" \
+ "fi; emerge --ask --oneshot \$(grep -lE \"(\${pattern})\"" \
+ "*/*/CONTENTS | sed -e 's,^,>=,;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 "<dev-util/confix-${RV}"; then
+ einfo "After merging ${P} you might have to remerge all packages built"
+ einfo "with <dev-util/confix-${RV} in your EPREFIX to get all the"
+ einfo "repo files useable with current ${PN}".
+ ewarn
+ ewarn "Use this command (copy&paste) to identify packages built with confix"
+ ewarn "needing a remerge in your particular instance of Gentoo Prefix:"
+ ewarn
+ # use 'echo' to get this command from here:
+ ewarn "( cd \$(portageq envvar EPREFIX)/var/db/pkg || exit 1;" \
+ "pattern=\$(cd ../../.. && echo \$(ls -d" \
+ "usr/share/confix*/repo | grep -v confix-${RV}) |" \
+ "sed -e 's, ,|,g'); if [[ -z \${pattern} ]]; then echo" \
+ "'No more packages were built with broken Confix.'; exit 0;" \
+ "fi; emerge --ask --oneshot \$(grep -lE \"(\${pattern})\"" \
+ "*/*/CONTENTS | sed -e 's,^,>=,;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
+ # <current>:<revision>:<age>", 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 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>haubi@gentoo.org</email>
+ <name>Michael Haubenwallner</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="sourceforge">confix</remote-id>
+ </upstream>
+</pkgmetadata>