summaryrefslogtreecommitdiff
path: root/community/wvstreams
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
committerroot <root@rshg054.dnsready.net>2013-07-19 01:10:32 -0700
commit8fbc0076a4827ddc6af92e0b9daa4c4c31450808 (patch)
tree03fd0e2921ebd53228d9a93e32ed3976b636cbea /community/wvstreams
parente445a313723389ba9ee1fded025c567dae5b21ea (diff)
Fri Jul 19 01:09:18 PDT 2013
Diffstat (limited to 'community/wvstreams')
-rw-r--r--community/wvstreams/PKGBUILD54
-rw-r--r--community/wvstreams/openssl-buildfix.patch14
-rw-r--r--community/wvstreams/wvstreams-4.6.1-gcc47.patch50
-rw-r--r--community/wvstreams/wvstreams-4.6.1-glibc212.patch24
4 files changed, 142 insertions, 0 deletions
diff --git a/community/wvstreams/PKGBUILD b/community/wvstreams/PKGBUILD
new file mode 100644
index 000000000..eb5b48e7f
--- /dev/null
+++ b/community/wvstreams/PKGBUILD
@@ -0,0 +1,54 @@
+# $Id: PKGBUILD 92257 2013-06-03 11:15:30Z allan $
+# Maintainer:
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: dorphell <dorphell@archlinux.org>
+
+pkgname=wvstreams
+pkgver=4.6.1
+pkgrel=6
+pkgdesc="A network programming library written in C++"
+arch=('i686' 'x86_64')
+url="http://alumnit.ca/wiki/?page=WvStreams"
+license=('LGPL')
+depends=('zlib' 'pam' 'xplc' 'openssl' 'readline')
+source=(http://wvstreams.googlecode.com/files/${pkgname}-${pkgver}.tar.gz
+wvstreams-4.6.1-glibc212.patch wvstreams-4.6.1-gcc47.patch openssl-buildfix.patch)
+md5sums=('2760dac31a43d452a19a3147bfde571c'
+ '5f6e24864209055239cb4e7c9bbd4a41'
+ '217e5dedd7f1d50588a5a67d637fc8a1'
+ 'df423c68134a09439b3961c34635e0b4')
+options=('!makeflags')
+
+prepare() {
+ cd ${pkgname}-${pkgver}
+
+ patch -p0 -i "$srcdir/wvstreams-4.6.1-glibc212.patch"
+ patch -p0 -i "$srcdir/wvstreams-4.6.1-gcc47.patch"
+ patch -p1 -i "$srcdir/openssl-buildfix.patch"
+}
+
+build() {
+ cd ${pkgname}-${pkgver}
+
+ ./configure --prefix=/usr \
+ --sbin=/usr/bin \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --without-dbus \
+ --with-pam \
+ --with-openssl \
+ --without-tcl \
+ --without-qt
+ make COPTS="$CFLAGS -fPIC" CXXOPTS="$CXXFLAGS -fPIC -fpermissive -fno-tree-dce -fno-optimize-sibling-calls" VERBOSE=1
+}
+
+package() {
+ cd ${pkgname}-${pkgver}
+ make DESTDIR="${pkgdir}" install
+
+ # FS#15974
+ # --without-dbus still installs the pkg-config file
+ rm "${pkgdir}/usr/lib/pkgconfig/libwvdbus.pc"
+ # --without-qt still installs the pkg-config file
+ rm "${pkgdir}/usr/lib/pkgconfig/libwvqt.pc"
+}
diff --git a/community/wvstreams/openssl-buildfix.patch b/community/wvstreams/openssl-buildfix.patch
new file mode 100644
index 000000000..1b0445d9e
--- /dev/null
+++ b/community/wvstreams/openssl-buildfix.patch
@@ -0,0 +1,14 @@
+--- wvstreams-4.6.1/crypto/wvx509.cc 2008-10-23 22:23:49.000000000 +0200
++++ wvstreams-4.6.1-1/crypto/wvx509.cc 2010-01-27 11:09:06.000000000 +0100
+@@ -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; \ No newline at end of file
diff --git a/community/wvstreams/wvstreams-4.6.1-gcc47.patch b/community/wvstreams/wvstreams-4.6.1-gcc47.patch
new file mode 100644
index 000000000..b284da8f3
--- /dev/null
+++ b/community/wvstreams/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 <unistd.h>
+ #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/community/wvstreams/wvstreams-4.6.1-glibc212.patch b/community/wvstreams/wvstreams-4.6.1-glibc212.patch
new file mode 100644
index 000000000..eb3e9b631
--- /dev/null
+++ b/community/wvstreams/wvstreams-4.6.1-glibc212.patch
@@ -0,0 +1,24 @@
+http://bugs.gentoo.org/333301
+https://bugs.archlinux.org/task/27188
+
+--- ipstreams/wvunixdgsocket.cc
++++ ipstreams/wvunixdgsocket.cc
+@@ -1,5 +1,5 @@
+ #include "wvunixdgsocket.h"
+-#ifdef MACOS
++#if defined(MACOS) || defined(__GNUC__)
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #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 <sys/types.h>
+ #include <sys/stat.h>
+ #endif
+