diff mbox

libglob: new package

Message ID 20160801195836.30837-1-joerg.krause@embedded.rocks
State Accepted
Headers show

Commit Message

Jörg Krause Aug. 1, 2016, 7:58 p.m. UTC
libglob is the OpenBSD implementation of glob(3).

Signed-off-by: J?rg Krause <joerg.krause at embedded.rocks>
---
 package/Config.in            |  1 +
 package/libglob/Config.in    |  4 ++++
 package/libglob/libglob.hash |  2 ++
 package/libglob/libglob.mk   | 47 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 54 insertions(+)
 create mode 100644 package/libglob/Config.in
 create mode 100644 package/libglob/libglob.hash
 create mode 100644 package/libglob/libglob.mk

Comments

Thomas Petazzoni Aug. 1, 2016, 8:07 p.m. UTC | #1
Hello,

On Mon,  1 Aug 2016 21:58:36 +0200, J?rg Krause wrote:
> libglob is the OpenBSD implementation of glob(3).
> 
> Signed-off-by: J?rg Krause <joerg.krause at embedded.rocks>

There was already a submission of a libglob package by Bernd yesterday,
see:

Subject: [Buildroot] [PATCH/RFC 1/1] package/libglob: new package
Date: Sun, 31 Jul 2016 18:29:20 +0200

Best regards,

Thomas
Thomas Petazzoni Oct. 25, 2016, 7:55 p.m. UTC | #2
Hello,

On Mon,  1 Aug 2016 21:58:36 +0200, Jörg Krause wrote:
> libglob is the OpenBSD implementation of glob(3).
> 
> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>

I've applied your patch, with one minor change (see below).

I remember this was necessary to fix the build of a package with musl.
Do you remember which one?

> +ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)

I've added:

LIBGLOB_MAKE_TARGETS += libglob.so

here.

> +# $1: destination directory
> +define LIBGLOB_INSTALL_SHARED
> +	$(INSTALL) -m 0755 -D $(@D)/libglob.so.0.0.0 \
> +		$(1)/usr/lib/libglob.so.0.0.0
> +	ln -sf libglob.so.0.0.0 $(1)/usr/lib/libglob.so.0
> +	ln -sf libglob.so.0.0.0 $(1)/usr/lib/libglob.so
> +endef
> +endif
> +
> +ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)

LIBGLOB_MAKE_TARGETS += libglob.a

here.

> +# $1: destination directory
> +define LIBGLOB_INSTALL_STATIC
> +	$(INSTALL) -m 0644 -D $(@D)/libglob.a $(1)/usr/lib/libglob.a
> +endef
> +endif
> +
> +define LIBGLOB_BUILD_CMDS
> +	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
> +		$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),libglob.so) \
> +		$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),libglob.a)

And replaced those two lines by:

		$(LIBGLOB_MAKE_TARGETS)

This way, we have the conditions around static/shared only in one place.

Thanks!

Thomas
Jörg Krause Nov. 2, 2016, 7:10 p.m. UTC | #3
Hi Thomas,

On Tue, 2016-10-25 at 21:55 +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Mon,  1 Aug 2016 21:58:36 +0200, Jörg Krause wrote:
> > libglob is the OpenBSD implementation of glob(3).
> > 
> > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
> 
> I've applied your patch, with one minor change (see below).
> 
> I remember this was necessary to fix the build of a package with
> musl.
> Do you remember which one?

Yes, it was openswan.

Jörg
Thomas Petazzoni Nov. 2, 2016, 8:32 p.m. UTC | #4
Hello,

On Wed, 02 Nov 2016 20:10:51 +0100, Jörg Krause wrote:

> > I remember this was necessary to fix the build of a package with
> > musl.
> > Do you remember which one?  
> 
> Yes, it was openswan.

Do we have the appropriate patches? :-)

Thanks,

Thomas
Jörg Krause Nov. 2, 2016, 10:43 p.m. UTC | #5
On Wed, 2016-11-02 at 21:32 +0100, Thomas Petazzoni wrote:
> Hello,
> 
> On Wed, 02 Nov 2016 20:10:51 +0100, Jörg Krause wrote:
> 
> > > I remember this was necessary to fix the build of a package with
> > > musl.
> > > Do you remember which one?  
> > 
> > Yes, it was openswan.
> 
> Do we have the appropriate patches? :-)

Not yet, unfortunately openswan for musl needs more fixing than adding
glob extensions :-(

Jörg
diff mbox

Patch

diff --git a/package/Config.in b/package/Config.in
index 645fa29..54e9368 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1291,6 +1291,7 @@  menu "Other"
 	source "package/libffi/Config.in"
 	source "package/libgee/Config.in"
 	source "package/libglib2/Config.in"
+	source "package/libglob/Config.in"
 	source "package/libical/Config.in"
 	source "package/liblinear/Config.in"
 	source "package/libnspr/Config.in"
diff --git a/package/libglob/Config.in b/package/libglob/Config.in
new file mode 100644
index 0000000..029ed6a
--- /dev/null
+++ b/package/libglob/Config.in
@@ -0,0 +1,4 @@ 
+config BR2_PACKAGE_LIBGLOB
+	bool "libglob"
+	help
+	  OpenBSD implementation of glob(3).
diff --git a/package/libglob/libglob.hash b/package/libglob/libglob.hash
new file mode 100644
index 0000000..0b39407
--- /dev/null
+++ b/package/libglob/libglob.hash
@@ -0,0 +1,2 @@ 
+# Locally calculated:
+sha256  4f1b204dad065689941c64828a92441fb316c9c7539b39525fa728125da65e22  libglob-1.0.tar.gz
diff --git a/package/libglob/libglob.mk b/package/libglob/libglob.mk
new file mode 100644
index 0000000..62a26f3
--- /dev/null
+++ b/package/libglob/libglob.mk
@@ -0,0 +1,47 @@ 
+################################################################################
+#
+# libglob
+#
+################################################################################
+
+LIBGLOB_VERSION = 1.0
+LIBGLOB_SITE = $(call github,voidlinux,libglob,$(LIBGLOB_VERSION))
+LIBGLOB_LICENSE = BSD-3c
+LIBGLOB_LICENSE_FILE = LICENSE
+LIBGLOB_INSTALL_STAGING = YES
+
+ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+# $1: destination directory
+define LIBGLOB_INSTALL_SHARED
+	$(INSTALL) -m 0755 -D $(@D)/libglob.so.0.0.0 \
+		$(1)/usr/lib/libglob.so.0.0.0
+	ln -sf libglob.so.0.0.0 $(1)/usr/lib/libglob.so.0
+	ln -sf libglob.so.0.0.0 $(1)/usr/lib/libglob.so
+endef
+endif
+
+ifeq ($(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+# $1: destination directory
+define LIBGLOB_INSTALL_STATIC
+	$(INSTALL) -m 0644 -D $(@D)/libglob.a $(1)/usr/lib/libglob.a
+endef
+endif
+
+define LIBGLOB_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		$(if $(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),libglob.so) \
+		$(if $(BR2_STATIC_LIBS)$(BR2_SHARED_STATIC_LIBS),libglob.a)
+endef
+
+define LIBGLOB_INSTALL_STAGING_CMDS
+	$(INSTALL) -m 0644 -D $(@D)/glob.h \
+		$(STAGING_DIR)/usr/include/libglob/glob.h
+	$(call LIBGLOB_INSTALL_SHARED,$(STAGING_DIR))
+	$(call LIBGLOB_INSTALL_STATIC,$(STAGING_DIR))
+endef
+
+define LIBGLOB_INSTALL_TARGET_CMDS
+	$(call LIBGLOB_INSTALL_SHARED,$(TARGET_DIR))
+endef
+
+$(eval $(generic-package))