diff --git a/common/shlibs b/common/shlibs index 674f0335aa..0b3900adf2 100644 --- a/common/shlibs +++ b/common/shlibs @@ -1856,3 +1856,7 @@ libopencv_stitching.so.2.4 libopencv-2.4.10_1 libopencv_photo.so.2.4 libopencv-2.4.10_1 libopencv_legacy.so.2.4 libopencv-2.4.10_1 libcgmanager.so.0 libcgmanager-0.33_1 +libuniconf.so.4.6 uniconf-4.6.1_1 +libwvbase.so.4.6 wvstreams-4.6.1_1 +libwvutils.so.4.6 wvstreams-4.6.1_1 +libwvstreams.so.4.6 wvstreams-4.6.1_1 diff --git a/srcpkgs/uniconf b/srcpkgs/uniconf new file mode 120000 index 0000000000..a5eb58f232 --- /dev/null +++ b/srcpkgs/uniconf @@ -0,0 +1 @@ +wvstreams \ No newline at end of file diff --git a/srcpkgs/wvstreams-devel b/srcpkgs/wvstreams-devel new file mode 120000 index 0000000000..a5eb58f232 --- /dev/null +++ b/srcpkgs/wvstreams-devel @@ -0,0 +1 @@ +wvstreams \ No newline at end of file diff --git a/srcpkgs/wvstreams/patches/tripledes.patch b/srcpkgs/wvstreams/patches/tripledes.patch new file mode 100644 index 0000000000..a1e6df691b --- /dev/null +++ b/srcpkgs/wvstreams/patches/tripledes.patch @@ -0,0 +1,19 @@ +--- include/wvtripledes.h.old 2014-12-11 01:53:28.157613918 +0100 ++++ include/wvtripledes.h 2014-12-11 01:53:46.005612583 +0100 +@@ -70,11 +70,11 @@ protected: + + private: + Mode mode; +- des_cblock key; +- des_key_schedule deskey1; +- des_key_schedule deskey2; +- des_key_schedule deskey3; +- des_cblock ivec; // initialization vector ++ DES_cblock key; ++ DES_key_schedule deskey1; ++ DES_key_schedule deskey2; ++ DES_key_schedule deskey3; ++ DES_cblock ivec; // initialization vector + int ivecoff; // current offset into initvec + }; + diff --git a/srcpkgs/wvstreams/patches/wvstreams-4.6.1-gcc47.patch b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-gcc47.patch new file mode 100644 index 0000000000..b284da8f3e --- /dev/null +++ b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-gcc47.patch @@ -0,0 +1,50 @@ +http://bugs.gentoo.org/419563 +http://bugs.gentoo.org/419971 + +See -gcc47-patch and -magic.patch in Fedora git: + +http://pkgs.fedoraproject.org/gitweb/?p=libwvstreams.git;a=tree + +--- include/wvtask.h ++++ include/wvtask.h +@@ -45,7 +45,8 @@ + typedef void TaskFunc(void *userdata); + + static int taskcount, numtasks, numrunning; +- int magic_number, *stack_magic; ++ int volatile magic_number; ++ int *stack_magic; + WvString name; + int tid; + +@@ -84,7 +85,7 @@ + static WvTaskMan *singleton; + static int links; + +- static int magic_number; ++ static int volatile magic_number; + static WvTaskList all_tasks, free_tasks; + + static void get_stack(WvTask &task, size_t size); +--- include/wvuid.h ++++ include/wvuid.h +@@ -7,6 +7,7 @@ + #ifndef __WVUID_H + #define __WVUID_H + ++#include + #include "wvstring.h" + + #if WIN32 +--- utils/wvtask.cc ++++ utils/wvtask.cc +@@ -58,7 +58,8 @@ + int WvTask::taskcount, WvTask::numtasks, WvTask::numrunning; + + WvTaskMan *WvTaskMan::singleton; +-int WvTaskMan::links, WvTaskMan::magic_number; ++int WvTaskMan::links; ++int volatile WvTaskMan::magic_number; + WvTaskList WvTaskMan::all_tasks, WvTaskMan::free_tasks; + ucontext_t WvTaskMan::stackmaster_task, WvTaskMan::get_stack_return, + WvTaskMan::toplevel; diff --git a/srcpkgs/wvstreams/patches/wvstreams-4.6.1-glibc212.patch b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-glibc212.patch new file mode 100644 index 0000000000..473d3e8329 --- /dev/null +++ b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-glibc212.patch @@ -0,0 +1,23 @@ +http://bugs.gentoo.org/333301 + +--- ipstreams/wvunixdgsocket.cc ++++ ipstreams/wvunixdgsocket.cc +@@ -1,5 +1,5 @@ + #include "wvunixdgsocket.h" +-#ifdef MACOS ++#if defined(MACOS) || defined(__GNUC__) + #include + #include + #endif +--- streams/wvatomicfile.cc ++++ streams/wvatomicfile.cc +@@ -11,7 +11,8 @@ + #include "wvfileutils.h" + #include "wvstrutils.h" + +-#ifdef MACOS ++#if defined(MACOS) || defined(__GNUC__) ++#include + #include + #endif + diff --git a/srcpkgs/wvstreams/patches/wvstreams-4.6.1-openssl-1.0.0.patch b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-openssl-1.0.0.patch new file mode 100644 index 0000000000..c27e723362 --- /dev/null +++ b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-openssl-1.0.0.patch @@ -0,0 +1,16 @@ +http://bugs.gentoo.org/304283 + +--- crypto/wvx509.cc ++++ crypto/wvx509.cc +@@ -1157,7 +1157,11 @@ + + if (ext) + { ++#if OPENSSL_VERSION_NUMBER >= 0x10000000L ++ const X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); ++#else + X509V3_EXT_METHOD *method = X509V3_EXT_get(ext); ++#endif + if (!method) + { + WvDynBuf buf; diff --git a/srcpkgs/wvstreams/patches/wvstreams-4.6.1-parallel-make.patch b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-parallel-make.patch new file mode 100644 index 0000000000..d6f7d6e761 --- /dev/null +++ b/srcpkgs/wvstreams/patches/wvstreams-4.6.1-parallel-make.patch @@ -0,0 +1,56 @@ +--- Makefile ++++ Makefile +@@ -131,12 +131,19 @@ + # libwvstreams: stream/event handling library + # + TARGETS += libwvstreams.so +-TARGETS += crypto/tests/ssltest ipstreams/tests/unixtest ++TARGETS += crypto/tests/ssltest ++crypto/tests/ssltest: $(LIBWVSTREAMS) ++ ++TARGETS += ipstreams/tests/unixtest ++ipstreams/tests/unixtest: $(LIBWVSTREAMS) ++ + TARGETS += crypto/tests/printcert ++crypto/tests/printcert: $(LIBWVSTREAMS) + + ifndef _MACOS + ifneq ("$(with_readline)", "no") + TARGETS += ipstreams/tests/wsd ++ ipstreams/tests/wsd: $(LIBWVSTREAMS) + ipstreams/tests/wsd-LIBS += -lreadline + else + TEST_SKIP_OBJS += ipstreams/tests/wsd +@@ -179,7 +186,11 @@ + # + ifneq ("$(with_dbus)", "no") + TARGETS += libwvdbus.so +- TARGETS += dbus/tests/wvdbus dbus/tests/wvdbusd ++ TARGETS += dbus/tests/wvdbus ++ dbus/tests/wvdbus: $(LIBWVDBUS) ++ ++ TARGETS += dbus/tests/wvdbusd ++ dbus/tests/wvdbusd: $(LIBWVDBUS) + TESTS += $(call tests_cc,dbus/tests) + libwvdbus_OBJS += $(call objects,dbus) + libwvdbus.so: $(libwvdbus_OBJS) $(LIBWVSTREAMS) +--- wvrules-posix.mk ++++ wvrules-posix.mk +@@ -85,12 +85,15 @@ + $(AR) s $1 + endef + +-CC: FORCE ++CC: + @CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ + $(WVSTREAMS)/gen-cc CC c + +-CXX: FORCE ++CXX: + @CC="$(CXX)" CFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ + $(WVSTREAMS)/gen-cc CXX cc + ++#All files must depend on the above two rules. This is a godawful hack. ++$(shell find -type f '(' -name '*.c' -o -name '*.cc' ')' ): CC CXX ++ + wvlink=$(LINK_MSG)$(WVLINK_CC) $(LDFLAGS) $($1-LDFLAGS) -o $1 $(filter %.o %.a %.so, $2) $($1-LIBS) $(XX_LIBS) $(LDLIBS) $(PRELIBS) $(LIBS) diff --git a/srcpkgs/wvstreams/template b/srcpkgs/wvstreams/template new file mode 100644 index 0000000000..56f3f1c2df --- /dev/null +++ b/srcpkgs/wvstreams/template @@ -0,0 +1,35 @@ +# Template file for 'wvstreams' +pkgname=wvstreams +version=4.6.1 +revision=1 +build_style=gnu-configure +maintainer="Enno Boland " +license="GPL-2" +short_desc="Library for doing network in C++" +homepage="https://code.google.com/p/wvstreams" +distfiles="https://wvstreams.googlecode.com/files/wvstreams-$version.tar.gz" +makedepends="libressl-devel zlib-devel" +checksum=8403f5fbf83aa9ac0c6ce15d97fd85607488152aa84e007b7d0621b8ebc07633 +configure_args="--without-dbus --without-tcl --without-qt" +conf_files="/etc/uniconf.conf" + +wvstreams-devel_package() { + depends="${sourcepkg}>=${version}_${revision} $makedepends" + short_desc+=" - development files" + pkg_install() { + vmove usr/include + vmove usr/lib/pkgconfig + vmove "usr/lib/*.a" + vmove "usr/lib/*.so" + } +} + +uniconf_package() { + short_desc="UniConf configuration system" + pkg_install() { + vmove usr/bin + vmove usr/sbin + vmove usr/share + vmove "usr/lib/libuniconf.so.*" + } +}