package/libserial: bump to version 1.0.0

- Move site to github
- Add gcc >= 5 dependency for C++14:
  cafeffaa60
- Remove first patch and use --without-python instead
- Remove second patch (patch has been merged in 2015:
  47ca0621cc)
- Add a new patch to fix build when size_t is an unsigned int
- Use new --disable-tests option
- Update license to BSD-3-Clause and replace COPYING by LICENSE.txt:
  3f12abc045
- Add hash for license file

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Fabrice Fontaine 2019-01-14 07:35:29 +01:00 committed by Thomas Petazzoni
parent dab729c58b
commit dde3ed4f90
6 changed files with 55 additions and 101 deletions

View File

@ -0,0 +1,39 @@
From 2e4cf095afdcf843e93d1bdea9dbd961558f09bd Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sun, 13 Jan 2019 21:01:19 +0100
Subject: [PATCH] SerialPort.cpp: fix build when size_t is an unsigned int
size_t can be defined as an unsigned int instead of long unsigned int so
replace 1UL to (size_t)1 when calling max function
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/crayzeewulf/libserial/pull/126]
---
src/SerialPort.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/SerialPort.cpp b/src/SerialPort.cpp
index e354fcb..75e762e 100644
--- a/src/SerialPort.cpp
+++ b/src/SerialPort.cpp
@@ -2208,7 +2208,7 @@ namespace LibSerial
// Local variables.
size_t number_of_bytes_read = 0 ;
- size_t number_of_bytes_remaining = std::max(numberOfBytes, 1UL) ;
+ size_t number_of_bytes_remaining = std::max(numberOfBytes, (size_t)1) ;
size_t maximum_number_of_bytes = dataBuffer.max_size() ;
// Clear the data buffer and reserve enough space in the buffer to store the incoming data.
@@ -2302,7 +2302,7 @@ namespace LibSerial
// Local variables.
size_t number_of_bytes_read = 0 ;
- size_t number_of_bytes_remaining = std::max(numberOfBytes, 1UL) ;
+ size_t number_of_bytes_remaining = std::max(numberOfBytes, (size_t)1) ;
size_t maximum_number_of_bytes = dataString.max_size() ;
// Clear the data buffer and reserve enough space in the buffer to store the incoming data.
--
2.14.1

View File

@ -1,26 +0,0 @@
Disable build of Python bindings, which requires the sipconfig module.
Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
diff -purN libserial-0.6.0rc2.orig/Makefile.am libserial-0.6.0rc2/Makefile.am
--- libserial-0.6.0rc2.orig/Makefile.am 2014-06-05 18:37:25.000000000 +0200
+++ libserial-0.6.0rc2/Makefile.am 2015-07-30 20:59:28.828429011 +0200
@@ -1,4 +1,4 @@
-SUBDIRS=src doc examples sip
+SUBDIRS=src doc examples
ACLOCAL_AMFLAGS=-I m4
EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc
diff -purN libserial-0.6.0rc2.orig/Makefile.in libserial-0.6.0rc2/Makefile.in
--- libserial-0.6.0rc2.orig/Makefile.in 2014-06-05 18:40:09.000000000 +0200
+++ libserial-0.6.0rc2/Makefile.in 2015-07-30 21:00:09.215188376 +0200
@@ -348,7 +348,7 @@ target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
-SUBDIRS = src doc examples sip
+SUBDIRS = src doc examples
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = doxygen.conf.in Makefile.dist libserial.spec libserial.pc
pkgconfigdir = $(libdir)/pkgconfig

View File

@ -1,65 +0,0 @@
From 47ca0621ccd2100e4ba0d7f4e2a861d14f05f63c Mon Sep 17 00:00:00 2001
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Date: Tue, 17 Nov 2015 23:50:14 +0100
Subject: [PATCH] Don't use high baudrates when not available
On certain architectures (namely Sparc), the maximum baud rate exposed
by the kernel headers is B2000000. Therefore, the current libserial
code doesn't build for the Sparc and Sparc64 architectures due to
this.
In order to address this problem, this patch tests the value of
__MAX_BAUD. If it's higher than B2000000 then we assume we're on an
architecture that supports all baud rates up to B4000000. Otherwise,
we simply don't support the baud rates above B2000000.
Fixes build failures such as:
./SerialPort.h:88:24: error: 'B2500000' was not declared in this scope
BAUD_2500000 = B2500000,
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
src/SerialPort.h | 2 ++
src/SerialStreamBuf.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/SerialPort.h b/src/SerialPort.h
index 6c0baaa..0b1af4c 100644
--- a/src/SerialPort.h
+++ b/src/SerialPort.h
@@ -85,11 +85,13 @@ public:
BAUD_1152000 = B1152000,
BAUD_1500000 = B1500000,
BAUD_2000000 = B2000000,
+#if __MAX_BAUD > B2000000
BAUD_2500000 = B2500000,
BAUD_3000000 = B3000000,
BAUD_3500000 = B3500000,
BAUD_4000000 = B4000000,
#endif
+#endif /* __linux__ */
BAUD_DEFAULT = BAUD_57600
} ;
diff --git a/src/SerialStreamBuf.h b/src/SerialStreamBuf.h
index ccbb996..174f31c 100644
--- a/src/SerialStreamBuf.h
+++ b/src/SerialStreamBuf.h
@@ -85,11 +85,13 @@ extern "C++"
BAUD_1152000 = SerialPort::BAUD_1152000,
BAUD_1500000 = SerialPort::BAUD_1500000,
BAUD_2000000 = SerialPort::BAUD_2000000,
+#if __MAX_BAUD > B2000000
BAUD_2500000 = SerialPort::BAUD_2500000,
BAUD_3000000 = SerialPort::BAUD_3000000,
BAUD_3500000 = SerialPort::BAUD_3500000,
BAUD_4000000 = SerialPort::BAUD_4000000,
#endif
+#endif /* __linux__ */
BAUD_DEFAULT = SerialPort::BAUD_DEFAULT,
BAUD_INVALID = -1
} ;
--
2.6.3

View File

@ -1,6 +1,7 @@
config BR2_PACKAGE_LIBSERIAL
bool "libserial"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
depends on BR2_USE_WCHAR # boost
select BR2_PACKAGE_BOOST
@ -10,5 +11,7 @@ config BR2_PACKAGE_LIBSERIAL
http://libserial.sourceforge.net/
comment "libserial needs a toolchain w/ C++, threads, wchar"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
comment "libserial needs a toolchain w/ C++, gcc >= 5, threads, wchar"
depends on !BR2_INSTALL_LIBSTDCPP || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR

View File

@ -1,5 +1,3 @@
# From http://sourceforge.net/projects/libserial/files/libserial/0.6.0rc2/
sha1 e09113be3ba595135e95e853003ff96feea0da63 libserial-0.6.0rc2.tar.gz
md5 7787679b22901e4810bc53ecccdf8266 libserial-0.6.0rc2.tar.gz
# Locally calculated
sha256 35ee29eb1369d52ffb8658237577692f991eb508320d0abbb71c53e6494a1c23 libserial-0.6.0rc2.tar.gz
sha256 063142d6bfe08898316e9a6055f2ddeedef56de06f7cfc8dcdfecc6efabf4bdd libserial-v1.0.0.tar.gz
sha256 c42fdfe17c192cfdb900e22d40ef246db1b473f99165e405eda62b41be27f4bf LICENSE.txt

View File

@ -4,13 +4,18 @@
#
################################################################################
LIBSERIAL_VERSION = 0.6.0rc2
LIBSERIAL_SITE = http://downloads.sourceforge.net/libserial
LIBSERIAL_VERSION = v1.0.0
LIBSERIAL_SITE = $(call github,crayzeewulf,libserial,$(LIBSERIAL_VERSION))
LIBSERIAL_INSTALL_STAGING = YES
LIBSERIAL_LICENSE = GPL-2.0+
LIBSERIAL_LICENSE_FILES = COPYING
LIBSERIAL_LICENSE = BSD-3-Clause
LIBSERIAL_LICENSE_FILES = LICENSE.txt
LIBSERIAL_DEPENDENCIES = boost
# From git
LIBSERIAL_AUTORECONF = YES
LIBSERIAL_CONF_ENV = ac_cv_prog_DOCBOOK2PDF=no
LIBSERIAL_CONF_OPTS = \
--disable-tests \
--without-python
$(eval $(autotools-package))