Skip to contentSkip to conversation

package/c-periphery: bump version to 2.2.0

PATCH Superseded Joris Offouga 2 participants 2 messages May 29, 2020

v2 of 5 Superseded Latest is v5 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/2 package/c-periphery: bump version to 2.2.0

Since commit "cmake: add cmake build support"
(https://github.com/vsergeev/c-periphery/commit/952e1e906a5d65b78932128af24b7dbb8cce2e9dvsergeev/c-periphery at d0a973c), c-periphery implement cmake build, so change generic-package instead of cmake-package

The hash of the license file is updated due to an update in the copyright year:

- Copyright (c) 2014-2019 vsergeev / Ivan (Vanya) A. Sergeev
+ Copyright (c) 2014-2020 vsergeev / Ivan (Vanya) A. Sergeev

---
change v1-v2:
- fix correct copyright year 2020

 .../0001-gpio.c-add-__USE_XOPEN-define.patch  | 38 +++++++++++++++++++
 package/c-periphery/c-periphery.hash          |  4 +-
 package/c-periphery/c-periphery.mk            | 16 +-------
 3 files changed, 42 insertions(+), 16 deletions(-)
 create mode 100644 package/c-periphery/0001-gpio.c-add-__USE_XOPEN-define.patch
package/c-periphery/0001-gpio.c-add-__USE_XOPEN-define.patch new file +38 -0
new file mode 100644
index 0000000000..953165f6bd
@@ -0,0 +1,38 @@
+From 7864e15c95c4500fbd8f64fcd543c707202dc09e Mon Sep 17 00:00:00 2001
+From: Joris Offouga <[email protected]>
+Date: Fri, 29 May 2020 13:48:58 +0200
+Subject: [PATCH] gpio.c: add __USE_XOPEN define
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The code needs __USE_XOPEN for some poll() flags.
+
+Fix build with uclibc:
+src/gpio.c: In function gpio_poll_multiple?:
+src/gpio.c:242:61: error: ?POLLRDNORM? undeclared (first use in this function)
+(POLLPRI | POLLERR) : (POLLIN | POLLRDNORM);
+                                ^
+
+Signed-off-by: Joris Offouga <[email protected]>
+[Upstream Status: https://github.com/vsergeev/c-periphery/pull/24]
+---
+ src/gpio.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/gpio.c b/src/gpio.c
+index b4039f1..5c48855 100644
+--- a/src/gpio.c
++++ b/src/gpio.c
+@@ -13,6 +13,8 @@
+ 
+ #include <unistd.h>
+ #include <fcntl.h>
++
++#define __USE_XOPEN
+ #include <poll.h>
+ #include <sys/stat.h>
+ #include <errno.h>
+-- 
+2.20.1
+
package/c-periphery/c-periphery.hash +2 -2
index 244f8f60f1..208ab5de97 100644
@@ -1,3 +1,3 @@
 # Locally calculated
-sha256 1c455c42b26818d199ac227cd19714f265623e15d363fdfdf47a2416a4165654  c-periphery-2.1.0.tar.gz
-sha256 e7b9464cb8511f19ddb40f9cf52fe86b3dfe38b2faed9d7bbc3d5707677ffbe3  LICENSE
+sha256 2c1714962f8e4a29ded69f3fc990f4e039162ac9d213a21062a4df9e105b83a4  c-periphery-2.2.0.tar.gz
+sha256 7121a0a2ba36ed9388be2f1a916f0e3584d8e49cc7888fbcfcf83bab2a8bebef  LICENSE
package/c-periphery/c-periphery.mk +2 -14
index bb50434efa..67e637cfc7 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-C_PERIPHERY_VERSION = 2.1.0
+C_PERIPHERY_VERSION = 2.2.0
 C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,v$(C_PERIPHERY_VERSION))
 C_PERIPHERY_INSTALL_STAGING = YES
 # only a static library
@@ -12,16 +12,4 @@ C_PERIPHERY_INSTALL_TARGET = NO
 C_PERIPHERY_LICENSE = MIT
 C_PERIPHERY_LICENSE_FILES = LICENSE
 
-define C_PERIPHERY_BUILD_CMDS
-	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
-endef
-
-# There is no 'install' rule in the Makefile, so we handle things
-# manually.
-define C_PERIPHERY_INSTALL_STAGING_CMDS
-	$(INSTALL) -D -m 0644 $(@D)/periphery.a $(STAGING_DIR)/usr/lib/libc-periphery.a
-	mkdir -p $(STAGING_DIR)/usr/include/c-periphery/
-	cp -dpfr $(@D)/src/*.h $(STAGING_DIR)/usr/include/c-periphery/
-endef
-
-$(eval $(generic-package))
+$(eval $(cmake-package))
Signature · 1 line
2.20.1
#1 lore raw

PATCH v2 1/2 package/c-periphery: bump version to 2.2.0

Hello Joris,

Quoted 3 lines · On Fri, 29 May 2020 16:20:12 +0200 Joris Offouga <[email protected]> wrote:

Since commit "cmake: add cmake build support"
(https://github.com/vsergeev/c-periphery/commit/952e1e906a5d65b78932128af24b7dbb8cce2e9dvsergeev/c-periphery at d0a973c), c-periphery implement cmake build, so change generic-package instead of cmake-package

It's the opposite you're using: you' replacing generic-package by cmake-package, so the wording here is confusing.

Quoted 4 lines

+ #include <unistd.h>
+ #include <fcntl.h>
++
++#define __USE_XOPEN

Defining a __<something> define from <features.h> is almost always wrong.

According to man poll(2):

When compiling with _XOPEN_SOURCE defined, one also has the following, which convey no further information beyond the bits listed above:

POLLRDNORM
Equivalent to POLLIN.

So, you need to #define _XOPEN_SOURCE instead.

package/c-periphery/c-periphery.mk C_PERIPHERY_INSTALL_TARGET = NO

Quoted 6 lines
package/c-periphery/c-periphery.mk +1 -1
-C_PERIPHERY_VERSION = 2.1.0
+C_PERIPHERY_VERSION = 2.2.0
 C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,v$(C_PERIPHERY_VERSION))
 C_PERIPHERY_INSTALL_STAGING = YES
 # only a static library
@@ -12,16 +12,4 @@ C_PERIPHERY_INSTALL_TARGET = NO

This is not longer true: with the CMake build system, a shared library is built and installed. So with your change the package is broken: any application that links against c-periphery will be linked against the shared library, but the shared library is not installed in $(TARGET_DIR).

Could you adjust this and send a new version ?

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com