libgdiplus: new package
PATCH 1/1 libgdiplus: new package
Libgdiplus is an open source implementation of the GDI+ API.
--- package/Config.in | 1 + package/libgdiplus/Config.in | 14 ++++++++++++ package/libgdiplus/libgdiplus.hash | 2 ++ package/libgdiplus/libgdiplus.mk | 46 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+) create mode 100644 package/libgdiplus/Config.in create mode 100644 package/libgdiplus/libgdiplus.hash create mode 100644 package/libgdiplus/libgdiplus.mk
package/Config.in +1 -0
@@ -824,6 +824,7 @@ menu "Graphics" source "package/libfm-extra/Config.in" source "package/libfreeimage/Config.in" source "package/libgail/Config.in" + source "package/libgdiplus/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" source "package/libglew/Config.in"
package/libgdiplus/Config.in new file +14 -0
@@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBGDIPLUS + bool "libgdiplus" + select BR2_PACKAGE_XLIB_LIBXFT + select BR2_PACKAGE_LIBGLIB2 + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBPNG + depends on BR2_PACKAGE_XORG7 + help + An Open Source implementation of the GDI+ API. + + https://github.com/mono/libgdiplus + +comment "libgdiplus depends on X.org" + depends on !BR2_PACKAGE_XORG7
package/libgdiplus/libgdiplus.hash new file +2 -0
@@ -0,0 +1,2 @@ +# No hash for 3.12, comes from the github-helper: +none xxx libgdiplus-3.12.tar.gz
package/libgdiplus/libgdiplus.mk new file +46 -0
46 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH 1/1 libgdiplus: new package
Hi Sergio,
Thanks for your contribution. I have a few comments below. Care to fix them up
and resend your patch? Thanks!
Quoted 31 lines · Sergio Prado
Libgdiplus is an open source implementation of the GDI+ API.
Signed-off-by Sergio Prado <[email protected]>--- package/Config.in | 1 + package/libgdiplus/Config.in | 14 ++++++++++++ package/libgdiplus/libgdiplus.hash | 2 ++ package/libgdiplus/libgdiplus.mk | 46 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 63 insertions(+) create mode 100644 package/libgdiplus/Config.in create mode 100644 package/libgdiplus/libgdiplus.hash create mode 100644 package/libgdiplus/libgdiplus.mkpackage/Config.in +1
-0@@ -824,6 +824,7 @@ menu "Graphics" source "package/libfm-extra/Config.in" source "package/libfreeimage/Config.in" source "package/libgail/Config.in" + source "package/libgdiplus/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" source "package/libglew/Config.in"package/libgdiplus/Config.in new file +0
-0
package/libgdiplus/Config.in line 4
Quoted 4 lines
package/libgdiplus/Config.in new file +4
-0@@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBGDIPLUS + bool "libgdiplus" + select BR2_PACKAGE_XLIB_LIBXFT + select BR2_PACKAGE_LIBGLIB2
You need to add that package's dependencies to this package, so:
depends on BR2_USE_WCHAR # libglib2 -> gettext depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 depends on BR2_USE_MMU # libglib2
package/libgdiplus/Config.in line 5
Quoted 1 line
package/libgdiplus/Config.in new file +1
-0+ select BR2_PACKAGE_CAIRO
Same here:
depends on BR2_ARCH_HAS_ATOMICS # cairo
package/libgdiplus/Config.in line 14
Quoted 9 lines
package/libgdiplus/Config.in new file +9
-0+ select BR2_PACKAGE_LIBPNG + depends on BR2_PACKAGE_XORG7 + help + An Open Source implementation of the GDI+ API. + + https://github.com/mono/libgdiplus + +comment "libgdiplus depends on X.org" + depends on !BR2_PACKAGE_XORG7
We don't add comments for X.org dependencies. But you should add a comment for
wchar and threads:
comment "libgdiplus needs a toolchain w/ wchar, threads"
package/libgdiplus/libgdiplus.hash line 1
Quoted 7 lines
package/libgdiplus/libgdiplus.hash new file +1
-0@@ -0,0 +1,2 @@ +# No hash for 3.12, comes from the github-helper:
We noticed that github tarballs are not changing anymore, so we started
requiring hashes for github tarballs as well since October.
Quoted 7 lines
package/libgdiplus/libgdiplus.hash new file +1
-0+none xxx libgdiplus-3.12.tar.gzpackage/libgdiplus/libgdiplus.mk new file +0
-0
package/libgdiplus/libgdiplus.mk line 9
Quoted 9 lines
package/libgdiplus/libgdiplus.mk new file +9
-0@@ -0,0 +1,46 @@ +################################################################################ +# +# libgdiplus +# +################################################################################ + +LIBGDIPLUS_VERSION = 3.12 +LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) +LIBGDIPLUS_LICENSE = LGPL MPLv1.0
Ah, the licensing mess... Even though there is a LICENSE file that specifies
LGPL or MPLv1.1, and there is a MPL-1.1.html file which indeed contains the MPL, the actual source files specify that they're licensed under MIT, and so does COPYING. And in fact, all these predate the addition of LICENSE and MPL-1.1.html. There are a few header files that don't specify a license, but I'm pretty confident that the license is MIT and only MIT.
package/libgdiplus/libgdiplus.mk line 10
Quoted 1 line
package/libgdiplus/libgdiplus.mk new file +1
-0+LIBGDIPLUS_LICENSE_FILES = LICENSE
Unfortunately, COPYING doesn't contain the license text, so this should be
LIBGDIPLUS_LICENSE_FILES = COPYING src/carbon-private.h
package/libgdiplus/libgdiplus.mk line 11
Quoted 1 line
package/libgdiplus/libgdiplus.mk new file +1
-0+LIBGDIPLUS_AUTORECONF = YES
You should also add a comment here why it is needed, e.g.
# github tarball doesn't have configure
package/libgdiplus/libgdiplus.mk line 14
Quoted 3 lines
package/libgdiplus/libgdiplus.mk new file +3
-0+LIBGDIPLUS_INSTALL_STAGING = YES + +LIBGDIPLUS_DEPENDENCIES = xlib_libXft libglib2 cairo libpng
It also depends on host-pkgconf
package/libgdiplus/libgdiplus.mk line 22
Quoted 8 lines
package/libgdiplus/libgdiplus.mk new file +8
-0+ +# API changes in recent versions of libgif makes it incompatible with +# this version of libgdiplus, so we are disabling it for now. +LIBGDIPLUS_CONF_OPTS = --without-libgif + +ifeq ($(BR2_PACKAGE_PANGO),y) +LIBGDIPLUS_CONF_OPTS += --with-pango +LIBGDIPLUS_DEPENDENCIES += pango
We prefer to add an explicit --without-pango.
Quoted 12 lines
package/libgdiplus/libgdiplus.mk new file +12
-0+endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBGDIPLUS_CONF_OPTS += --with-libexif +LIBGDIPLUS_DEPENDENCIES += libexif +else +LIBGDIPLUS_CONF_OPTS += --without-libexif +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBGDIPLUS_CONF_OPTS += --with-libjpeg +LIBGDIPLUS_DEPENDENCIES += jpeg
package/libgdiplus/libgdiplus.mk line 44
Quoted 10 lines
package/libgdiplus/libgdiplus.mk new file +10
-0+else +LIBGDIPLUS_CONF_OPTS += --without-libjpeg +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +LIBGDIPLUS_CONF_OPTS += --with-libtiff +LIBGDIPLUS_DEPENDENCIES += tiff +else +LIBGDIPLUS_CONF_OPTS += --without-libtiff +endif
There are also optional dependencies on fontconfig, freetype.
Regards,
Arnout
Quoted 3 lines
package/libgdiplus/libgdiplus.mk new file +2
-0+ +$(eval $(autotools-package))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 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: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 libgdiplus: new package
Hi Arnout,
2015-11-22 18:44 GMT-02:00 Arnout Vandecappelle <[email protected]>:
Quoted 6 lines
Hi Sergio,
Thanks for your contribution. I have a few comments below. Care to fix
them up
and resend your patch? Thanks!
Thank you for reviewing the patch!
Quoted 41 lines · Sergio Prado
Quoted 8 lines
Libgdiplus is an open source implementation of the GDI+ API.
Signed-off-by Sergio Prado <[email protected]>--- package/Config.in | 1 + package/libgdiplus/Config.in | 14 ++++++++++++ package/libgdiplus/libgdiplus.hash | 2 ++ package/libgdiplus/libgdiplus.mk | 46++++++++++++++++++++++++++++++++++++++
Quoted 23 lines
4 files changed, 63 insertions(+) create mode 100644 package/libgdiplus/Config.in create mode 100644 package/libgdiplus/libgdiplus.hash create mode 100644 package/libgdiplus/libgdiplus.mkpackage/Config.in +1
-0@@ -824,6 +824,7 @@ menu "Graphics" source "package/libfm-extra/Config.in" source "package/libfreeimage/Config.in" source "package/libgail/Config.in" + source "package/libgdiplus/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" source "package/libglew/Config.in"package/libgdiplus/Config.in new file +0
-0package/libgdiplus/Config.in line 4
Quoted 4 lines
package/libgdiplus/Config.in new file +4
-0@@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBGDIPLUS + bool "libgdiplus" + select BR2_PACKAGE_XLIB_LIBXFT + select BR2_PACKAGE_LIBGLIB2You need to add that package's dependencies to this package, so:
Quoted 3 lines
depends on
BR2_USE_WCHAR# libglib2 -> gettext depends onBR2_TOOLCHAIN_HAS_THREADS# libglib2
depends on BR2_USE_MMU # libglib2
Quoted 1 line
Libgdiplus depends on BR2_PACKAGE_XORG7, that already depends on BR2_USE_WCHAR and BR2_TOOLCHAIN_HAS_THREADS. That means that, because of the xorg dependency, it is not possible to select libgdiplus with a toolchain that has no wchar or threads support. Should I still depend on wchar and threads?
Quoted 7 lines
package/libgdiplus/Config.in line 5
Quoted 2 lines
package/libgdiplus/Config.in new file +1
-0+ select BR2_PACKAGE_CAIROSame here:
depends on
BR2_ARCH_HAS_ATOMICS# cairo
OK.
Quoted 14 lines
package/libgdiplus/Config.in line 14
Quoted 9 lines
package/libgdiplus/Config.in new file +9
-0+ select BR2_PACKAGE_LIBPNG + depends on BR2_PACKAGE_XORG7 + help + An Open Source implementation of the GDI+ API. + + https://github.com/mono/libgdiplus + +comment "libgdiplus depends on X.org" + depends on !BR2_PACKAGE_XORG7We don't add comments for X.org dependencies. But you should add a
comment for
wchar and threads:
Quoted 2 lines
comment "libgdiplus needs a toolchain w/ wchar, threads"
OK.
Quoted 4 lines
Review
Quoted 3 lines
(quoted diff) +0
-0b/package/libgdiplus/libgdiplus.hash
Quoted 10 lines
package/libgdiplus/libgdiplus.hash line 1
Quoted 6 lines
new file mode 100644
index 000000000000..f2b0d33d71abpackage/libgdiplus/libgdiplus.hash new file +1
-0@@ -0,0 +1,2 @@ +# No hash for 3.12, comes from the github-helper:We noticed that github tarballs are not changing anymore, so we started
requiring hashes for github tarballs as well since October.
Did not know. I will add the hashes.
Quoted 16 lines
package/libgdiplus/
Quoted 3 lines
package/libgdiplus/libgdiplus.hash new file +1
-0+none xxx libgdiplus-3.12.tar.gzpackage/libgdiplus/ renamed from package/libgdiplus/libgdiplus.mk +0
-0libgdiplus.mk
package/libgdiplus/libgdiplus.mk
Quoted 6 lines
new file mode 100644
index 000000000000..c8e2d96a1c82package/libgdiplus/libgdiplus.mk new file +0
-0@@ -0,0 +1,46 @@+################################################################################
package/libgdiplus/libgdiplus.mk line 4
Quoted 4 lines
package/libgdiplus/libgdiplus.mk new file +3
-0+# +# libgdiplus +#+################################################################################
Quoted 16 lines
package/libgdiplus/libgdiplus.mk line 9
Quoted 4 lines
package/libgdiplus/libgdiplus.mk new file +4
-0+ +LIBGDIPLUS_VERSION = 3.12 +LIBGDIPLUS_SITE = $(call github,mono,libgdiplus,$(LIBGDIPLUS_VERSION)) +LIBGDIPLUS_LICENSE = LGPL MPLv1.0Ah, the licensing mess... Even though there is a LICENSE file that
specifies
LGPL or MPLv1.1, and there is a MPL-1.1.html file which indeed contains the MPL,
the actual source files specify that they're licensed under MIT, and so does
COPYING. And in fact, all these predate the addition of LICENSE and MPL-1.1.html. There are a few header files that don't specify a license, but I'm
pretty confident that the license is MIT and only MIT.
You are right. Thanks.
Quoted 7 lines
package/libgdiplus/libgdiplus.mk line 10
Quoted 2 lines
package/libgdiplus/libgdiplus.mk new file +1
-0+LIBGDIPLUS_LICENSE_FILES = LICENSEUnfortunately, COPYING doesn't contain the license text, so this should be
LIBGDIPLUS_LICENSE_FILES= COPYINGsrc/carbon-private.h
OK. Is there any reason to select specifically the src/carbon-private.h header file, instead of many others that also have copyright messages?
Quoted 6 lines
package/libgdiplus/libgdiplus.mk line 11
Quoted 2 lines
package/libgdiplus/libgdiplus.mk new file +1
-0+LIBGDIPLUS_AUTORECONF = YESYou should also add a comment here why it is needed, e.g.
# github tarball doesn't have configure
OK.
Quoted 7 lines
package/libgdiplus/libgdiplus.mk line 14
Quoted 4 lines
package/libgdiplus/libgdiplus.mk new file +3
-0+LIBGDIPLUS_INSTALL_STAGING = YES + +LIBGDIPLUS_DEPENDENCIES = xlib_libXft libglib2 cairo libpngIt also depends on host-pkgconf
Right.
Quoted 11 lines
package/libgdiplus/libgdiplus.mk line 22
Quoted 9 lines
package/libgdiplus/libgdiplus.mk new file +8
-0+ +# API changes in recent versions of libgif makes it incompatible with +# this version of libgdiplus, so we are disabling it for now. +LIBGDIPLUS_CONF_OPTS = --without-libgif + +ifeq ($(BR2_PACKAGE_PANGO),y) +LIBGDIPLUS_CONF_OPTS += --with-pango +LIBGDIPLUS_DEPENDENCIES += pangoWe prefer to add an explicit --without-pango.
That was my previous implementation, but there is a bug in the configure script that *enables* pango support when I pass --without-pango. Looks like it is checking only for the string "pango" in the configure parameter to enable it. Should I create a patch to fix this bug or just use --with-pango as it is, adding a comment to explain why we are not using --without-pango?
Quoted 17 lines
Quoted 17 lines
package/libgdiplus/libgdiplus.mk new file +16
-0+endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBGDIPLUS_CONF_OPTS += --with-libexif +LIBGDIPLUS_DEPENDENCIES += libexif +else +LIBGDIPLUS_CONF_OPTS += --without-libexif +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBGDIPLUS_CONF_OPTS += --with-libjpeg +LIBGDIPLUS_DEPENDENCIES += jpeg +else +LIBGDIPLUS_CONF_OPTS += --without-libjpeg +endif +
Quoted 9 lines
package/libgdiplus/libgdiplus.mk line 44
Quoted 6 lines
package/libgdiplus/libgdiplus.mk new file +6
-0+ifeq ($(BR2_PACKAGE_TIFF),y) +LIBGDIPLUS_CONF_OPTS += --with-libtiff +LIBGDIPLUS_DEPENDENCIES += tiff +else +LIBGDIPLUS_CONF_OPTS += --without-libtiff +endifThere are also optional dependencies on fontconfig, freetype.
I'm not sure if it is optional. The project documentation says it is a requirement (https://github.com/mono/libgdiplus/blob/master/README). I've tried to build without them but the configure script does not handle these options:
configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6, --disable-nls, --without-fontconfig, --without-freetype, --without-freetype2
What do you think?
Quoted 4 lines
Regards,
Arnout
Thanks!
Quoted 6 lines
package/libgdiplus/libgdiplus.mk line 44
Quoted 4 lines
package/libgdiplus/libgdiplus.mk new file +2
-0+ +$(eval $(autotools-package))
Quoted 8 lines
--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 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: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151123/81f49a5e/attachment.html>
PATCH 1/1 libgdiplus: new package
Quoted 4 lines · Sergio Prado
Hi Arnout,
2015-11-22 18:44 GMT-02:00 Arnout Vandecappelle <[email protected] <mailto:[email protected]>>:
[snip]
Quoted 16 lines
package/libgdiplus/Config.in line 4
Quoted 10 lines
package/libgdiplus/Config.in new file +4
-0@@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBGDIPLUS + bool "libgdiplus" + select BR2_PACKAGE_XLIB_LIBXFT + select BR2_PACKAGE_LIBGLIB2You need to add that package's dependencies to this package, so:
depends on
BR2_USE_WCHAR# libglib2 -> gettext depends onBR2_TOOLCHAIN_HAS_THREADS# libglib2
Quoted 6 lines
depends on
BR2_USE_MMU# libglib2Libgdiplus depends on
BR2_PACKAGE_XORG7, that already depends onBR2_USE_WCHARandBR2_TOOLCHAIN_HAS_THREADS. That means that, because of the xorg dependency, it is not possible to select libgdiplus with a toolchain that has no wchar or threads support. Should I still depend on wchar and threads?
You can choose :-). The advantage of still specifying is that if the Xorg
dependency is ever removed (e.g. when it also works for wayland), the dependencies coming from libglib2 are still there. But indeed, it's not really necessary.
It would be good to mention that in a comment though, so that people like me
don't get confused :-).
The MMU is still needed, right?
Quoted 25 lines
package/libgdiplus/Config.in line 5
Quoted 4 lines
package/libgdiplus/Config.in new file +1
-0+ select BR2_PACKAGE_CAIROSame here:
depends on
BR2_ARCH_HAS_ATOMICS# cairoOK.
package/libgdiplus/Config.in line 14
Quoted 9 lines
package/libgdiplus/Config.in new file +9
-0+ select BR2_PACKAGE_LIBPNG + depends on BR2_PACKAGE_XORG7 + help + An Open Source implementation of the GDI+ API. + + https://github.com/mono/libgdiplus + +comment "libgdiplus depends on X.org" + depends on !BR2_PACKAGE_XORG7We don't add comments for X.org dependencies. But you should add a comment for
wchar and threads:
Quoted 3 lines
comment "libgdiplus needs a toolchain w/ wchar, threads"
OK.
This will not be needed then, it would anyway never be visible.
[snip]
Quoted 8 lines
Quoted 1 line
+LIBGDIPLUS_LICENSE_FILES = LICENSE
Unfortunately, COPYING doesn't contain the license text, so this should be
LIBGDIPLUS_LICENSE_FILES= COPYINGsrc/carbon-private.hOK. Is there any reason to select specifically the
src/carbon-private.hheader file, instead of many others that also have copyright messages?
It's the smallest file that has a copyright header.
[snip]
Quoted 11 lines
package/libgdiplus/Config.in
Quoted 3 lines
package/libgdiplus/Config.in new file +3
-0+ifeq ($(BR2_PACKAGE_PANGO),y) +LIBGDIPLUS_CONF_OPTS += --with-pango +LIBGDIPLUS_DEPENDENCIES += pangoWe prefer to add an explicit --without-pango.
That was my previous implementation, but there is a bug in the configure script that *enables* pango support when I pass --without-pango. Looks like it is checking only for the string "pango" in the configure parameter to enable it. Should I create a patch to fix this bug or just use --with-pango as it is, adding a comment to explain why we are not using --without-pango?
Adding a comment would be good, yes.
Quoted 28 lines
Quoted 15 lines
package/libgdiplus/Config.in new file +12
-0+endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBGDIPLUS_CONF_OPTS += --with-libexif +LIBGDIPLUS_DEPENDENCIES += libexif +else +LIBGDIPLUS_CONF_OPTS += --without-libexif +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBGDIPLUS_CONF_OPTS += --with-libjpeg +LIBGDIPLUS_DEPENDENCIES += jpegpackage/libgdiplus/Config.in
Quoted 10 lines
package/libgdiplus/Config.in new file +10
-0+else +LIBGDIPLUS_CONF_OPTS += --without-libjpeg +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +LIBGDIPLUS_CONF_OPTS += --with-libtiff +LIBGDIPLUS_DEPENDENCIES += tiff +else +LIBGDIPLUS_CONF_OPTS += --without-libtiff +endifThere are also optional dependencies on fontconfig, freetype.
Quoted 3 lines
I'm not sure if it is optional. The project documentation says it is a requirement (https://github.com/mono/libgdiplus/blob/master/README). I've tried to build without them but the configure script does not handle these options:
Sorry, fontconfig and freetype are of course already selected by xlib_libXft.
So never mind this.
Regards,
Arnout
Quoted 32 lines
configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs, --disable-documentation, --with-xmlto, --with-fop, --enable-ipv6, --disable-nls, --without-fontconfig, --without-freetype, --without-freetype2
What do you think?
Regards,
ArnoutThanks!
Quoted 3 lines
+
+$(eval $(autotools-package))--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
<tel:%2B32-16-286500>
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: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 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: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
PATCH 1/1 libgdiplus: new package
Hello Arnout,
2015-11-23 19:43 GMT-02:00 Arnout Vandecappelle <[email protected]>:
Quoted 39 lines · Sergio Prado
Quoted 4 lines
Hi Arnout,
2015-11-22 18:44 GMT-02:00 Arnout Vandecappelle <[email protected] <mailto:[email protected]>>:
[snip]
Quoted 1 line
Review
Quoted 1 line
(quoted diff) +0
-0b/package/libgdiplus/Config.in
Quoted 12 lines
package/libgdiplus/Config.in line 4
Quoted 9 lines
new file mode 100644
index 000000000000..173d9af0d48apackage/libgdiplus/Config.in new file +4
-0@@ -0,0 +1,14 @@ +config BR2_PACKAGE_LIBGDIPLUS + bool "libgdiplus" + select BR2_PACKAGE_XLIB_LIBXFT + select BR2_PACKAGE_LIBGLIB2You need to add that package's dependencies to this package, so:
Quoted 6 lines
depends on
BR2_USE_WCHAR# libglib2 -> gettext depends onBR2_TOOLCHAIN_HAS_THREADS# libglib2depends on
BR2_USE_MMU# libglib2Libgdiplus depends on
BR2_PACKAGE_XORG7, that already depends on
BR2_USE_WCHARQuoted 1 line
and
BR2_TOOLCHAIN_HAS_THREADS. That means that, because of the xorgdependency,
Quoted 1 line
it is not possible to select libgdiplus with a toolchain that has no
wchar or
Quoted 1 line
threads support. Should I still depend on wchar and threads?
You can choose :-). The advantage of still specifying is that if the Xorg
dependency is ever removed (e.g. when it also works for wayland), the dependencies coming from libglib2 are still there. But indeed, it's not really
necessary.
Quoted 4 lines
It would be good to mention that in a comment though, so that people like
me
don't get confused :-).
Understood. I'm gonna keep these dependencies.
Quoted 2 lines
The MMU is still needed, right?
Yes. This one is necessary.
Quoted 39 lines
Quoted 13 lines
package/libgdiplus/Config.in line 5
Quoted 5 lines
package/libgdiplus/Config.in new file +1
-0+ select BR2_PACKAGE_CAIROSame here:
depends on
BR2_ARCH_HAS_ATOMICS# cairoOK.
Quoted 11 lines
package/libgdiplus/Config.in line 14
Quoted 9 lines
package/libgdiplus/Config.in new file +9
-0+ select BR2_PACKAGE_LIBPNG + depends on BR2_PACKAGE_XORG7 + help + An Open Source implementation of the GDI+ API. + + https://github.com/mono/libgdiplus + +comment "libgdiplus depends on X.org" + depends on !BR2_PACKAGE_XORG7We don't add comments for X.org dependencies. But you should add a
comment for
Quoted 5 lines
wchar and threads:
comment "libgdiplus needs a toolchain w/ wchar, threads"
OK.
This will not be needed then, it would anyway never be visible.
[snip]
Quoted 3 lines
Quoted 1 line
+LIBGDIPLUS_LICENSE_FILES = LICENSE
Unfortunately, COPYING doesn't contain the license text, so this
should be
Quoted 1 line
Quoted 8 lines
Quoted 3 lines
LIBGDIPLUS_LICENSE_FILES= COPYINGsrc/carbon-private.hOK. Is there any reason to select specifically the
src/carbon-private.hheader
Quoted 1 line
file, instead of many others that also have copyright messages?
It's the smallest file that has a copyright header.
OK.
Quoted 11 lines
[snip]
Quoted 7 lines
package/libgdiplus/Config.in
Quoted 3 lines
package/libgdiplus/Config.in new file +3
-0+ifeq ($(BR2_PACKAGE_PANGO),y) +LIBGDIPLUS_CONF_OPTS += --with-pango +LIBGDIPLUS_DEPENDENCIES += pangoWe prefer to add an explicit --without-pango.
That was my previous implementation, but there is a bug in the configure
script
Quoted 1 line
that *enables* pango support when I pass --without-pango. Looks like it
Quoted 9 lines
is
Quoted 1 line
checking only for the string "pango" in the configure parameter to
enable it.
Quoted 1 line
Should I create a patch to fix this bug or just use --with-pango as it
is,
Quoted 1 line
adding a comment to explain why we are not using --without-pango?
Adding a comment would be good, yes.
Right.
Quoted 31 lines
Quoted 29 lines
Quoted 16 lines
package/libgdiplus/Config.in new file +12
-0+endif + +ifeq ($(BR2_PACKAGE_LIBEXIF),y) +LIBGDIPLUS_CONF_OPTS += --with-libexif +LIBGDIPLUS_DEPENDENCIES += libexif +else +LIBGDIPLUS_CONF_OPTS += --without-libexif +endif + +ifeq ($(BR2_PACKAGE_JPEG),y) +LIBGDIPLUS_CONF_OPTS += --with-libjpeg +LIBGDIPLUS_DEPENDENCIES += jpegpackage/libgdiplus/Config.in
Quoted 10 lines
package/libgdiplus/Config.in new file +10
-0+else +LIBGDIPLUS_CONF_OPTS += --without-libjpeg +endif + +ifeq ($(BR2_PACKAGE_TIFF),y) +LIBGDIPLUS_CONF_OPTS += --with-libtiff +LIBGDIPLUS_DEPENDENCIES += tiff +else +LIBGDIPLUS_CONF_OPTS += --without-libtiff +endifThere are also optional dependencies on fontconfig, freetype.
Quoted 2 lines
I'm not sure if it is optional. The project documentation says it is a requirement (https://github.com/mono/libgdiplus/blob/master/README).
Quoted 8 lines
I've tried
Quoted 1 line
to build without them but the configure script does not handle these
options:
Sorry, fontconfig and freetype are of course already selected by
xlib_libXft.
So never mind this.
OK.
Quoted 5 lines
Regards,
Arnout
I'm gonna send v2. Thanks!
Quoted 38 lines
Quoted 4 lines
configure: WARNING: unrecognized options: --disable-gtk-doc, --disable-gtk-doc-html, --disable-doc, --disable-docs,
--disable-documentation,
Quoted 1 line
--with-xmlto, --with-fop, --enable-ipv6, --disable-nls,
--without-fontconfig,
Quoted 18 lines
--without-freetype, --without-freetype2
What do you think?
Regards,
ArnoutThanks!
Quoted 3 lines
+
+$(eval $(autotools-package))Quoted 6 lines
-- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 <tel:%2B32-16-286500> Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPRLeuven
Quoted 4 lines
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
Quoted 8 lines
--
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 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: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151124/973433a0/attachment.html>