From: Michael Olbrich <m.olbrich@pengutronix.de>
To: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH 1/2] wvstreams: Add package
Date: Sat, 30 Sep 2017 12:59:38 +0200 [thread overview]
Message-ID: <20170930105938.xtbcdpdibn4hf3zh@pengutronix.de> (raw)
In-Reply-To: <20170929135202.5817-1-s.hauer@pengutronix.de>
On Fri, Sep 29, 2017 at 03:52:01PM +0200, Sascha Hauer wrote:
> wvstreams is a C++ networking library which is added here because
> it's used by wvdial. Upstream for this library is dead, so we
> download the package from storage.googleapis.com.
>
> To make it compile the debian patches are added.
>
> WvStreams uses autoconf, but not automake which for us means
> that parallel build is broken. Disable parallel build for now.
>
> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
> ---
> .../0001-Fix-FTBFS-with-gcc-4.7.patch | 54 ++++++++++++++++++++
> .../0002-fix-FTBFS-with-OpenSSL-1.0.patch | 25 ++++++++++
> .../0003-fix-FTBFS-with-glibc-2.12.patch | 41 ++++++++++++++++
> .../0004-Fix-compilation-with-gcc-6.patch | 49 +++++++++++++++++++
> patches/wvstreams-4.6.1/series | 4 ++
> rules/wvstreams.in | 11 +++++
> rules/wvstreams.make | 57 ++++++++++++++++++++++
> 7 files changed, 241 insertions(+)
> create mode 100644 patches/wvstreams-4.6.1/0001-Fix-FTBFS-with-gcc-4.7.patch
> create mode 100644 patches/wvstreams-4.6.1/0002-fix-FTBFS-with-OpenSSL-1.0.patch
> create mode 100644 patches/wvstreams-4.6.1/0003-fix-FTBFS-with-glibc-2.12.patch
> create mode 100644 patches/wvstreams-4.6.1/0004-Fix-compilation-with-gcc-6.patch
> create mode 100644 patches/wvstreams-4.6.1/series
> create mode 100644 rules/wvstreams.in
> create mode 100644 rules/wvstreams.make
>
> diff --git a/patches/wvstreams-4.6.1/0001-Fix-FTBFS-with-gcc-4.7.patch b/patches/wvstreams-4.6.1/0001-Fix-FTBFS-with-gcc-4.7.patch
> new file mode 100644
> index 000000000..b8597d29a
> --- /dev/null
> +++ b/patches/wvstreams-4.6.1/0001-Fix-FTBFS-with-gcc-4.7.patch
> @@ -0,0 +1,54 @@
> +From 912004e2faa35c95558a04b8d7ac7d132676d92f Mon Sep 17 00:00:00 2001
> +From: Paul Tagliamonte <paultag@ubuntu.com>
> +Date: Thu, 28 Sep 2017 15:50:05 +0200
> +Subject: [PATCH 1/4] Fix FTBFS with gcc-4.7
> +
> +Small header include change. This is borderlinde cosmetic, but still
> +needed to prevent the FTBFS.
> +---
> + utils/wvcrash.cc | 2 +-
> + utils/wvcrashbase.cc | 2 +-
> + utils/wvuid.cc | 1 +
> + 3 files changed, 3 insertions(+), 2 deletions(-)
> +
> +diff --git a/utils/wvcrash.cc b/utils/wvcrash.cc
> +index 0417759..d5e1d87 100644
> +--- a/utils/wvcrash.cc
> ++++ b/utils/wvcrash.cc
> +@@ -26,7 +26,7 @@
> + #endif
> +
> + // FIXME: this file mostly only works in Linux
> +-#ifdef __linux
> ++#if 1
> +
> + # include <execinfo.h>
> + #include <unistd.h>
> +diff --git a/utils/wvcrashbase.cc b/utils/wvcrashbase.cc
> +index 8d67027..53e2037 100644
> +--- a/utils/wvcrashbase.cc
> ++++ b/utils/wvcrashbase.cc
> +@@ -66,7 +66,7 @@ const char *wvcrash_ring_buffer_get()
> +
> +
> + // FIXME: leaving of a will and catching asserts mostly only works in Linux
> +-#ifdef __linux
> ++#if 1
> +
> + #ifdef __USE_GNU
> + static const char *argv0 = program_invocation_short_name;
> +diff --git a/utils/wvuid.cc b/utils/wvuid.cc
> +index 7fa1035..709a484 100644
> +--- a/utils/wvuid.cc
> ++++ b/utils/wvuid.cc
> +@@ -33,6 +33,7 @@ wvuid_t wvgetuid()
> +
> + #else // not WIN32
> +
> ++#include <unistd.h>
> +
> + WvString wv_username_from_uid(wvuid_t uid)
> + {
> +--
> +2.11.0
> +
> diff --git a/patches/wvstreams-4.6.1/0002-fix-FTBFS-with-OpenSSL-1.0.patch b/patches/wvstreams-4.6.1/0002-fix-FTBFS-with-OpenSSL-1.0.patch
> new file mode 100644
> index 000000000..d308bc93c
> --- /dev/null
> +++ b/patches/wvstreams-4.6.1/0002-fix-FTBFS-with-OpenSSL-1.0.patch
> @@ -0,0 +1,25 @@
> +From f6a5f6c664be64c04d4e70c7a69993401318f36a Mon Sep 17 00:00:00 2001
> +From: Luca Falavigna <dktrkranz@debian.org>
> +Date: Thu, 28 Sep 2017 15:51:26 +0200
> +Subject: [PATCH 2/4] fix FTBFS with OpenSSL 1.0
> +
> +---
> + crypto/wvx509.cc | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/crypto/wvx509.cc b/crypto/wvx509.cc
> +index 93dae06..41fa742 100644
> +--- a/crypto/wvx509.cc
> ++++ b/crypto/wvx509.cc
> +@@ -1157,7 +1157,7 @@ WvString WvX509::get_extension(int nid) const
> +
> + if (ext)
> + {
> +- X509V3_EXT_METHOD *method = X509V3_EXT_get(ext);
> ++ X509V3_EXT_METHOD *method = (X509V3_EXT_METHOD *)X509V3_EXT_get(ext);
> + if (!method)
> + {
> + WvDynBuf buf;
> +--
> +2.11.0
> +
> diff --git a/patches/wvstreams-4.6.1/0003-fix-FTBFS-with-glibc-2.12.patch b/patches/wvstreams-4.6.1/0003-fix-FTBFS-with-glibc-2.12.patch
> new file mode 100644
> index 000000000..183583aab
> --- /dev/null
> +++ b/patches/wvstreams-4.6.1/0003-fix-FTBFS-with-glibc-2.12.patch
> @@ -0,0 +1,41 @@
> +From 013d7fc99cafd215a18ee2e3eeeead15c4428242 Mon Sep 17 00:00:00 2001
> +From: Luca Falavigna <dktrkranz@debian.org>
> +Date: Thu, 28 Sep 2017 15:52:12 +0200
> +Subject: [PATCH 3/4] fix FTBFS with glibc 2.12
> +
> +---
> + ipstreams/wvunixdgsocket.cc | 2 --
> + streams/wvatomicfile.cc | 3 ---
> + 2 files changed, 5 deletions(-)
> +
> +diff --git a/ipstreams/wvunixdgsocket.cc b/ipstreams/wvunixdgsocket.cc
> +index 41d2911..c8b539f 100644
> +--- a/ipstreams/wvunixdgsocket.cc
> ++++ b/ipstreams/wvunixdgsocket.cc
> +@@ -1,8 +1,6 @@
> + #include "wvunixdgsocket.h"
> +-#ifdef MACOS
> + #include <sys/types.h>
> + #include <sys/stat.h>
> +-#endif
> +
> + WvUnixDGSocket::WvUnixDGSocket(WvStringParm filename, bool _server, int perms)
> + : socketfile(filename)
> +diff --git a/streams/wvatomicfile.cc b/streams/wvatomicfile.cc
> +index 65ae202..e249a14 100644
> +--- a/streams/wvatomicfile.cc
> ++++ b/streams/wvatomicfile.cc
> +@@ -10,10 +10,7 @@
> + #include "wvatomicfile.h"
> + #include "wvfileutils.h"
> + #include "wvstrutils.h"
> +-
> +-#ifdef MACOS
> + #include <sys/stat.h>
> +-#endif
> +
> + WvAtomicFile::WvAtomicFile(WvStringParm filename, int flags, mode_t create_mode)
> + : tmp_file(WvString::null)
> +--
> +2.11.0
> +
> diff --git a/patches/wvstreams-4.6.1/0004-Fix-compilation-with-gcc-6.patch b/patches/wvstreams-4.6.1/0004-Fix-compilation-with-gcc-6.patch
> new file mode 100644
> index 000000000..9381c4c11
> --- /dev/null
> +++ b/patches/wvstreams-4.6.1/0004-Fix-compilation-with-gcc-6.patch
> @@ -0,0 +1,49 @@
> +From e8ef9e0843bc0e8e59c556dbe8c612221e54c295 Mon Sep 17 00:00:00 2001
> +From: Gert Wollny <gw.fossdev@gmail.com>
> +Date: Thu, 28 Sep 2017 15:53:36 +0200
> +Subject: [PATCH 4/4] Fix compilation with gcc-6
> +
> +---
> + streams/wvstream.cc | 12 +++++++-----
> + 1 file changed, 7 insertions(+), 5 deletions(-)
> +
> +diff --git a/streams/wvstream.cc b/streams/wvstream.cc
> +index 4564f3c..5a3c070 100644
> +--- a/streams/wvstream.cc
> ++++ b/streams/wvstream.cc
> +@@ -907,9 +907,9 @@ void WvStream::_build_selectinfo(SelectInfo &si, time_t msec_timeout,
> +
> + if (forceable)
> + {
> +- si.wants.readable = readcb;
> +- si.wants.writable = writecb;
> +- si.wants.isexception = exceptcb;
> ++ si.wants.readable = static_cast<bool>(readcb);
> ++ si.wants.writable = static_cast<bool>(writecb);
> ++ si.wants.isexception = static_cast<bool>(exceptcb);
> + }
> + else
> + {
> +@@ -1019,7 +1019,8 @@ bool WvStream::_select(time_t msec_timeout, bool readable, bool writable,
> +
> + IWvStream::SelectRequest WvStream::get_select_request()
> + {
> +- return IWvStream::SelectRequest(readcb, writecb, exceptcb);
> ++ return IWvStream::SelectRequest(static_cast<bool>(readcb), static_cast<bool>(writecb),
> ++ static_cast<bool>(exceptcb));
> + }
> +
> +
> +@@ -1107,7 +1108,8 @@ bool WvStream::continue_select(time_t msec_timeout)
> + // inefficient, because if the alarm was expired then pre_select()
> + // returned true anyway and short-circuited the previous select().
> + TRACE("hello-%p\n", this);
> +- return !alarm_was_ticking || select(0, readcb, writecb, exceptcb);
> ++ return !alarm_was_ticking || select(0, static_cast<bool>(readcb),
> ++ static_cast<bool>(writecb), static_cast<bool>(exceptcb));
> + }
> +
> +
> +--
> +2.11.0
> +
> diff --git a/patches/wvstreams-4.6.1/series b/patches/wvstreams-4.6.1/series
> new file mode 100644
> index 000000000..d21be5195
> --- /dev/null
> +++ b/patches/wvstreams-4.6.1/series
> @@ -0,0 +1,4 @@
> +0001-Fix-FTBFS-with-gcc-4.7.patch
> +0002-fix-FTBFS-with-OpenSSL-1.0.patch
> +0003-fix-FTBFS-with-glibc-2.12.patch
> +0004-Fix-compilation-with-gcc-6.patch
extract with '--git' and run 'git ptx-patches' in the package source dir.
> diff --git a/rules/wvstreams.in b/rules/wvstreams.in
> new file mode 100644
> index 000000000..2f3f60b83
> --- /dev/null
> +++ b/rules/wvstreams.in
> @@ -0,0 +1,11 @@
> +## SECTION=system_libraries
> +
> +config WVSTREAMS
> + tristate
> + prompt "wvstreams"
> + select ZLIB
> + select OPENSSL
> + help
> + WvStreams aims to be an efficient, secure, and easy-to-use library
> + for doing network and systems applications development in C++.
> + Mainly needed for the wvdial tool.
> diff --git a/rules/wvstreams.make b/rules/wvstreams.make
> new file mode 100644
> index 000000000..d5e9aff2b
> --- /dev/null
> +++ b/rules/wvstreams.make
> @@ -0,0 +1,57 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2017 by Sascha Hauer <s.hauer@pengutronix.de>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_WVSTREAMS) += wvstreams
> +
> +#
> +# Paths and names
> +#
> +WVSTREAMS_VERSION := 4.6.1
> +WVSTREAMS_MD5 := 2760dac31a43d452a19a3147bfde571c
> +WVSTREAMS := wvstreams-$(WVSTREAMS_VERSION)
> +WVSTREAMS_SUFFIX := tar.gz
> +WVSTREAMS_URL := https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wvstreams/${WVSTREAMS}.$(WVSTREAMS_SUFFIX)
> +WVSTREAMS_SOURCE := $(SRCDIR)/$(WVSTREAMS).$(WVSTREAMS_SUFFIX)
> +WVSTREAMS_DIR := $(BUILDDIR)/$(WVSTREAMS)
> +WVSTREAMS_LICENSE := GPLv2
> +
> +#
> +# autoconf
> +#
> +WVSTREAMS_CONF_TOOL := autoconf
> +#WVSTREAMS_CONF_OPT := $(CROSS_AUTOCONF_USR)
configure_helper.py shows several options including optional dependencies.
Michael
> +WVSTREAMS_MAKE_PAR := NO
> +
> +# ----------------------------------------------------------------------------
> +# Target-Install
> +# ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/wvstreams.targetinstall:
> + @$(call targetinfo)
> +
> + @$(call install_init, wvstreams)
> + @$(call install_fixup, wvstreams,PRIORITY,optional)
> + @$(call install_fixup, wvstreams,SECTION,base)
> + @$(call install_fixup, wvstreams,AUTHOR,"Sascha Hauer <s.hauer@pengutronix.de>")
> + @$(call install_fixup, wvstreams,DESCRIPTION,missing)
> +
> + @$(call install_lib, wvstreams, 0, 0, 0644, libuniconf)
> + @$(call install_lib, wvstreams, 0, 0, 0644, libwvbase)
> + @$(call install_lib, wvstreams, 0, 0, 0644, libwvstreams)
> + @$(call install_lib, wvstreams, 0, 0, 0644, libwvutils)
> +
> + @$(call install_finish, wvstreams)
> +
> + @$(call touch)
> +
> +# vim: syntax=make
> --
> 2.11.0
>
>
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
next prev parent reply other threads:[~2017-09-30 10:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-29 13:52 Sascha Hauer
2017-09-29 13:52 ` [ptxdist] [PATCH 2/2] wvdial: " Sascha Hauer
2017-09-30 11:02 ` Michael Olbrich
2017-09-30 10:59 ` Michael Olbrich [this message]
2017-10-16 12:15 [ptxdist] [PATCH 1/2] wvstreams: " Sascha Hauer
2017-10-16 12:16 ` Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170930105938.xtbcdpdibn4hf3zh@pengutronix.de \
--to=m.olbrich@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox