Skip to contentSkip to conversation

sylpheed: Fix includedir

PATCH Superseded Valentine Barshak 2 participants 3 messages Oct 6, 2012 – Oct 7, 2012

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 sylpheed: Fix includedir

The sylpheed headers are installed to the target directory, creating full staging directory path in the target rootfs, which is wrong.
This happens because the headers are installed to $(DESTDIR)$(includedir), while DESTDIR is $(TARGET_DIR) and includedir is set to $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.

The includedir was set to staging include because sylpheed incorrectly adds includedir to its include path, and does not build with the default includedir set to /usr/include in the target filesystem.

This removes includedir setting and also removes it from include paths in Makefiles. The same approach is used in the OE.

---
 package/sylpheed/sylpheed.mk | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
package/sylpheed/sylpheed.mk +9 -2
index 451c4de..100fd67 100644
@@ -9,11 +9,18 @@ SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).$(SYLPHEED_VERSION_MINOR)
 SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2
 SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR)
 
-SYLPHEED_CONF_OPT = --disable-gtkspell \
-                    --includedir=$(STAGING_DIR)/usr/include
+SYLPHEED_CONF_OPT = --disable-gtkspell
 
 SYLPHEED_DEPENDENCIES = host-pkg-config libgtk2
 
+define SYLPHEED_PRECONFIGURE
+	for i in $$(find $(@D) -name "Makefile*"); do \
+		sed -i 's:-I$$(includedir)::g' $$i; \
+	done
+endef
+
+SYLPHEED_PRE_CONFIGURE_HOOKS += SYLPHEED_PRECONFIGURE
+
 ifeq ($(BR2_PACKAGE_OPENSSL),y)
 SYLPHEED_DEPENDENCIES += openssl
 SYLPHEED_CONF_OPT += --enable-ssl
Signature · 1 line
1.7.11.4
#1 lore raw

PATCH v2 1/1 sylpheed: Fix includedir

Quoted 13 lines · Valentine Barshak

The sylpheed headers are installed to the target directory, creating full staging directory path in the target rootfs, which is wrong.
This happens because the headers are installed to $(DESTDIR)$(includedir), while DESTDIR is $(TARGET_DIR) and includedir is set to $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.

The includedir was set to staging include because sylpheed incorrectly adds includedir to its include path, and does not build with the default includedir set to /usr/include in the target filesystem.

Quoted 5 lines

This removes includedir setting and also removes it from include paths in Makefiles. The same approach is used in the OE.

with a small addition:

Quoted 13 lines
---
  package/sylpheed/sylpheed.mk | 11 +++++++++--
  1 file changed, 9 insertions(+), 2 deletions(-)
package/sylpheed/sylpheed.mk +0 -1
index 451c4de..100fd67 100644
@@ -9,11 +9,18 @@ SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).$(SYLPHEED_VERSION_MINOR)
  SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2
  SYLPHEED_SITE = http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR)
 
-SYLPHEED_CONF_OPT = --disable-gtkspell \

package/sylpheed/sylpheed.mk SYLPHEED_VERSION = $(SYLPHEED_VERSION_MAJOR).$(SYLPHEED_VERSION_MINOR) · line 20

Quoted 10 lines
package/sylpheed/sylpheed.mk +6 -1
-                    --includedir=$(STAGING_DIR)/usr/include
+SYLPHEED_CONF_OPT = --disable-gtkspell
 
  SYLPHEED_DEPENDENCIES = host-pkg-config libgtk2
 
+define SYLPHEED_PRECONFIGURE
+	for i in $$(find $(@D) -name "Makefile*"); do \
+		sed -i 's:-I$$(includedir)::g' $$i; \
+	done
+endef

Put a small explanatory comment here, e.g.:

# Remove the -I$(includedir) from the Makefile, because it would

# refer to the host's /usr/include.

Regards,
Arnout

Quoted 6 lines
package/sylpheed/sylpheed.mk +3 -0
+
+SYLPHEED_PRE_CONFIGURE_HOOKS += SYLPHEED_PRECONFIGURE
+
  ifeq ($(BR2_PACKAGE_OPENSSL),y)
  SYLPHEED_DEPENDENCIES += openssl
  SYLPHEED_CONF_OPT += --enable-ssl
Signature · 6 lines
Arnout Vandecappelle                               arnout at mind be
Senior Embedded Software Architect                 +32-16-286540
Essensium/Mind                                     http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium                BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#2 lore raw

PATCH v2 1/1 sylpheed: Fix includedir

Quoted 52 lines · Arnout Vandecappelle
Quoted 13 lines · Valentine Barshak

The sylpheed headers are installed to the target directory, creating full staging directory path in the target rootfs, which is wrong.
This happens because the headers are installed to $(DESTDIR)$(includedir), while DESTDIR is $(TARGET_DIR) and includedir is set to $(STAGING_DIR)/usr/include in the SYLPHEED_CONF_OPT.

The includedir was set to staging include because sylpheed incorrectly adds includedir to its include path, and does not build with the default includedir set to /usr/include in the target filesystem.

Quoted 5 lines

This removes includedir setting and also removes it from include paths in Makefiles. The same approach is used in the OE.

with a small addition:

Quoted 15 lines
---
  package/sylpheed/sylpheed.mk | 11 +++++++++--
  1 file changed, 9 insertions(+), 2 deletions(-)
package/sylpheed/sylpheed.mk +0 -1
index 451c4de..100fd67 100644
@@ -9,11 +9,18 @@ SYLPHEED_VERSION =
 $(SYLPHEED_VERSION_MAJOR).$(SYLPHEED_VERSION_MINOR)
  SYLPHEED_SOURCE = sylpheed-$(SYLPHEED_VERSION).tar.bz2
  SYLPHEED_SITE =
 http://sylpheed.sraoss.jp/sylpheed/v$(SYLPHEED_VERSION_MAJOR)
 
-SYLPHEED_CONF_OPT = --disable-gtkspell \

package/sylpheed/sylpheed.mk SYLPHEED_VERSION = · line 22

Quoted 10 lines
package/sylpheed/sylpheed.mk +6 -1
-                    --includedir=$(STAGING_DIR)/usr/include
+SYLPHEED_CONF_OPT = --disable-gtkspell
 
  SYLPHEED_DEPENDENCIES = host-pkg-config libgtk2
 
+define SYLPHEED_PRECONFIGURE
+    for i in $$(find $(@D) -name "Makefile*"); do \
+        sed -i 's:-I$$(includedir)::g' $$i; \
+    done
+endef

Put a small explanatory comment here, e.g.:

Quoted 4 lines

# Remove the -I$(includedir) from the Makefile, because it would

# refer to the host's /usr/include.

Thanks!
I've added the comment and slightly modified the commit log. Will send v3 in a bit.

Thanks,
Val.

Quoted 2 lines

Regards,
Arnout