libcairomm: new package
PATCH 1/4 libcairomm: new package
--- package/Config.in | 1 + package/libcairomm/Config.in | 19 +++++++++++++++++++ package/libcairomm/libcairomm.hash | 2 ++ package/libcairomm/libcairomm.mk | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 package/libcairomm/Config.in create mode 100644 package/libcairomm/libcairomm.hash create mode 100644 package/libcairomm/libcairomm.mk
package/Config.in +1 -0
@@ -1105,6 +1105,7 @@ menu "Other" source "package/libbsd/Config.in" source "package/libcap/Config.in" source "package/libcap-ng/Config.in" + source "package/libcairomm/Config.in" source "package/libcgroup/Config.in" source "package/libcofi/Config.in" source "package/libcrossguid/Config.in"
package/libcairomm/Config.in new file +19 -0
@@ -0,0 +1,19 @@ +config BR2_PACKAGE_LIBCAIROMM + bool "libcairomm" + select BR2_PACKAGE_CAIRO + select BR2_PACKAGE_LIBGLIB2 + depends on BR2_ARCH_HAS_ATOMICS # cairo + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2 + depends on BR2_USE_WCHAR # libglib2 + depends on BR2_USE_MMU # libglib2 + help + The libcairomm package is a set of C++ bindings for Cairo. + + http://www.gtkmm.org/ + +comment "libcairomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + || !BR2_TOOLCHAIN_HAS_THREADS
package/libcairomm/libcairomm.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From http://ftp.gnome.org/pub/gnome/sources/cairomm/1.12/cairomm-1.12.0.sha256sum +sha256 a54ada8394a86182525c0762e6f50db6b9212a2109280d13ec6a0b29bfd1afe6 cairomm-1.12.0.tar.xz
package/libcairomm/libcairomm.mk new file +16 -0
@@ -0,0 +1,16 @@ +################################################################################ +# +# libcairomm +# +################################################################################ + +LIBCAIROMM_VERSION_MAJOR = 1.12 +LIBCAIROMM_VERSION = $(LIBCAIROMM_VERSION_MAJOR).0 +LIBCAIROMM_LICENSE = LGPLv2 +LIBCAIROMM_LICENSE_FILES = COPYING +LIBCAIROMM_SOURCE = cairomm-$(LIBCAIROMM_VERSION).tar.xz +LIBCAIROMM_SITE = http://ftp.gnome.org/pub/gnome/sources/cairomm/$(LIBCAIROMM_VERSION_MAJOR) +LIBCAIROMM_INSTALL_STAGING = YES +LIBCAIROMM_DEPENDENCIES = cairo libglib2 host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
1.9.5.msysgit.1
PATCH 2/4 libpangomm: new package
--- package/Config.in | 1 + package/libpangomm/Config.in | 21 +++++++++++++++++++++ package/libpangomm/libpangomm.hash | 2 ++ package/libpangomm/libpangomm.mk | 16 ++++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 package/libpangomm/Config.in create mode 100644 package/libpangomm/libpangomm.hash create mode 100644 package/libpangomm/libpangomm.mk
package/Config.in +1 -0
@@ -1119,6 +1119,7 @@ menu "Other" source "package/libical/Config.in" source "package/liblinear/Config.in" source "package/libnspr/Config.in" + source "package/libpangomm/Config.in" source "package/libpfm4/Config.in" source "package/libplatform/Config.in" source "package/libplist/Config.in"
package/libpangomm/Config.in new file +21 -0
@@ -0,0 +1,21 @@ +config BR2_PACKAGE_LIBPANGOMM + bool "libpangomm" + select BR2_PACKAGE_LIBCAIROMM + select BR2_PACKAGE_GLIBMM + select BR2_PACKAGE_PANGO + depends on BR2_ARCH_HAS_ATOMICS # libcairomm/pango -> cairo + depends on BR2_INSTALL_LIBSTDCPP # glibmm/pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/pango -> libglib2 + depends on BR2_USE_MMU # *mm/pango -> libglib2 + depends on BR2_USE_WCHAR # *mm/pango -> libglib2 + help + The libpangomm package is a set of C++ bindings for Pango. + + http://www.gtkmm.org/ + +comment "libpangomm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
package/libpangomm/libpangomm.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From http://ftp.gnome.org/pub/gnome/sources/pangomm/2.39/pangomm-2.39.1.sha256sum +sha256 10c06bbf12a03963ffe9c697887b57c72f1dac1671d09dba45cecd25db5dc6ed pangomm-2.39.1.tar.xz
package/libpangomm/libpangomm.mk new file +16 -0
@@ -0,0 +1,16 @@ +################################################################################ +# +# libpangomm +# +################################################################################ + +LIBPANGOMM_VERSION_MAJOR = 2.39 +LIBPANGOMM_VERSION = $(LIBPANGOMM_VERSION_MAJOR).1 +LIBPANGOMM_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +LIBPANGOMM_LICENSE_FILES = COPYING COPYING.tools +LIBPANGOMM_SOURCE = pangomm-$(LIBPANGOMM_VERSION).tar.xz +LIBPANGOMM_SITE = http://ftp.gnome.org/pub/gnome/sources/pangomm/$(LIBPANGOMM_VERSION_MAJOR) +LIBPANGOMM_INSTALL_STAGING = YES +LIBPANGOMM_DEPENDENCIES = glibmm libcairomm pango host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
1.9.5.msysgit.1
Thomas Petazzoni
AppliedPATCH 2/4 libpangomm: new package
Dear James Knight,
Quoted 10 lines · James Knight
Signed-off-by James Knight <[email protected]>--- package/Config.in | 1 + package/libpangomm/Config.in | 21 +++++++++++++++++++++ package/libpangomm/libpangomm.hash | 2 ++ package/libpangomm/libpangomm.mk | 16 ++++++++++++++++ 4 files changed, 40 insertions(+) create mode 100644 package/libpangomm/Config.in create mode 100644 package/libpangomm/libpangomm.hash create mode 100644 package/libpangomm/libpangomm.mk
Applied, after doing some changes:
[Thomas:
- rename to pangomm.
- move next to pango in menuconfig.
- add dependency to libsigc.]
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 2/4 libpangomm: new package
In reply to James KnightQuoted 1 line · James Knight
+LIBPANGOMM_VERSION_MAJOR = 2.39
Hi James.
Any particular reason you went for a devel/unstable branch version? (odd numbers for gnome stuff = devel/unstable, even = stable/releases). Thanks!
Regards.
PATCH 2/4 libpangomm: new package
Gustavo,
Quoted 2 lines · Gustavo Zacarias
Any particular reason you went for a devel/unstable branch version?
No. I only just took the versions I saw available to download. I didn't consider the Gnome version stable/devel releases. If we want to downgrade to a stable version, I have no objections.
PATCH 3/4 libatkmm: new package
In reply to James Knight--- package/Config.in | 1 + package/libatkmm/Config.in | 19 +++++++++++++++++++ package/libatkmm/libatkmm.hash | 2 ++ package/libatkmm/libatkmm.mk | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 package/libatkmm/Config.in create mode 100644 package/libatkmm/libatkmm.hash create mode 100644 package/libatkmm/libatkmm.mk
package/Config.in +1 -0
@@ -1101,6 +1101,7 @@ menu "Other" source "package/gsl/Config.in" source "package/gtest/Config.in" source "package/libargtable2/Config.in" + source "package/libatkmm/Config.in" source "package/libatomic_ops/Config.in" source "package/libbsd/Config.in" source "package/libcap/Config.in"
package/libatkmm/Config.in new file +19 -0
@@ -0,0 +1,19 @@ +config BR2_PACKAGE_LIBATKMM + bool "libatkmm" + select BR2_PACKAGE_ATK + select BR2_PACKAGE_GLIBMM + depends on BR2_INSTALL_LIBSTDCPP # glibmm + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # atk/glibmm -> libglib2 + depends on BR2_USE_MMU # atk/glibmm -> libglib2 + depends on BR2_USE_WCHAR # atk/glibmm -> libglib2 + + help + The libatkmm package is a set of C++ bindings for Atk. + + http://www.gtkmm.org/ + +comment "libatkmm needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" + depends on BR2_USE_MMU + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
package/libatkmm/libatkmm.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From http://ftp.gnome.org/pub/gnome/sources/atkmm/2.24/atkmm-2.24.2.sha256sum +sha256 ff95385759e2af23828d4056356f25376cfabc41e690ac1df055371537e458bd atkmm-2.24.2.tar.xz
package/libatkmm/libatkmm.mk new file +16 -0
@@ -0,0 +1,16 @@ +################################################################################ +# +# libatkmm +# +################################################################################ + +LIBATKMM_VERSION_MAJOR = 2.24 +LIBATKMM_VERSION = $(LIBATKMM_VERSION_MAJOR).2 +LIBATKMM_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +LIBATKMM_LICENSE_FILES = COPYING COPYING.tools +LIBATKMM_SOURCE = atkmm-$(LIBATKMM_VERSION).tar.xz +LIBATKMM_SITE = http://ftp.gnome.org/pub/gnome/sources/atkmm/$(LIBATKMM_VERSION_MAJOR) +LIBATKMM_INSTALL_STAGING = YES +LIBATKMM_DEPENDENCIES = atk glibmm host-pkgconf + +$(eval $(autotools-package))
Signature · 1 line
1.9.5.msysgit.1
Thomas Petazzoni
AppliedPATCH 3/4 libatkmm: new package
Dear James Knight,
Quoted 10 lines · James Knight
Signed-off-by James Knight <[email protected]>--- package/Config.in | 1 + package/libatkmm/Config.in | 19 +++++++++++++++++++ package/libatkmm/libatkmm.hash | 2 ++ package/libatkmm/libatkmm.mk | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 package/libatkmm/Config.in create mode 100644 package/libatkmm/libatkmm.hash create mode 100644 package/libatkmm/libatkmm.mk
Applied, after some changes:
[Thomas:
- rename to atkmm
- move next to atk in menuconfig
- add dependency to libsigc]
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 4/4 libgtkmm30: new package
In reply to James Knight--- package/Config.in | 1 + package/libgtkmm30/Config.in | 23 +++++++++++++++++++++++ package/libgtkmm30/libgtkmm30.hash | 2 ++ package/libgtkmm30/libgtkmm30.mk | 27 +++++++++++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 package/libgtkmm30/Config.in create mode 100644 package/libgtkmm30/libgtkmm30.hash create mode 100644 package/libgtkmm30/libgtkmm30.mk
package/Config.in +1 -0
@@ -1117,6 +1117,7 @@ menu "Other" source "package/libevent/Config.in" source "package/libffi/Config.in" source "package/libglib2/Config.in" + source "package/libgtkmm30/Config.in" source "package/libical/Config.in" source "package/liblinear/Config.in" source "package/libnspr/Config.in"
package/libgtkmm30/Config.in new file +23 -0
@@ -0,0 +1,23 @@ +config BR2_PACKAGE_LIBGTKMM30 + bool "libgtkmm30" + select BR2_PACKAGE_GLIBMM + select BR2_PACKAGE_LIBATKMM + select BR2_PACKAGE_LIBCAIROMM + select BR2_PACKAGE_LIBPANGOMM + select BR2_PACKAGE_LIBGTK3 + depends on BR2_ARCH_HAS_ATOMICS # libcairomm/libgtk3/libpangomm -> cairo + depends on BR2_INSTALL_LIBSTDCPP # glibmm, libpangomm -> glibmm/pango + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # *mm/libgtk3 -> libglib2 + depends on BR2_USE_MMU # *mm/libgtk3 -> libglib2 + depends on BR2_USE_WCHAR # *mm/libgtk3 -> libglib2 + help + The libgtkmm30 package is a set of C++ bindings for GTK 3. + + http://www.gtkmm.org/ + +comment "libgtkmm30 needs a toolchain w/ C++, wchar, threads, gcc >= 4.8" + depends on BR2_USE_MMU + depends on BR2_ARCH_HAS_ATOMICS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || !BR2_USE_WCHAR \ + || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
package/libgtkmm30/libgtkmm30.hash new file +2 -0
@@ -0,0 +1,2 @@ +# From http://ftp.gnome.org/pub/GNOME/sources/gtkmm/3.14/gtkmm-3.14.0.sha256sum +sha256 d9f528a62c6ec226fa08287c45c7465b2dce5aae5068e9ac48d30a64a378e48b gtkmm-3.14.0.tar.xz
package/libgtkmm30/libgtkmm30.mk new file +27 -0
@@ -0,0 +1,27 @@ +################################################################################ +# +# libgtkmm30 +# +################################################################################ + +LIBGTKMM30_VERSION_MAJOR = 3.14 +LIBGTKMM30_VERSION = $(LIBGTKMM30_VERSION_MAJOR).0 +LIBGTKMM30_LICENSE = LGPLv2.1+ (library), GPLv2+ (tools) +LIBGTKMM30_LICENSE_FILES = COPYING COPYING.tools +LIBGTKMM30_SOURCE = gtkmm-$(LIBGTKMM30_VERSION).tar.xz +LIBGTKMM30_SITE = http://ftp.gnome.org/pub/gnome/sources/gtkmm/$(LIBGTKMM30_VERSION_MAJOR) +LIBGTKMM30_INSTALL_STAGING = YES +LIBGTKMM30_DEPENDENCIES = glibmm libatkmm libcairomm libgtk3 libpangomm host-pkgconf + +# Explicit use of C++11 to build with newer *mm dependencies that require C++11. +# +# The most recent release of *mm-related libraries require C++11. This project's +# dependencies (ex. libpangomm) are updated and enforce the C++11 standard. +# Since the libgtkmm30 must match the libgtk3 version, the useable version of +# libgtkmm30 does not have this enforcement; however, to build with the most +# recent version of the dependencies, libgtkmm30 requires to be built with +# `-std=c++11`. The following enforces C++11 standard. When libgtk3 is updated, +# followed by a libgtkmm30 update, this flag modification can be removed. +LIBGTKMM30_CONF_ENV = CPPFLAGS="$(TARGET_CPPFLAGS) -std=c++11" + +$(eval $(autotools-package))
Signature · 1 line
1.9.5.msysgit.1
Thomas Petazzoni
AppliedPATCH 4/4 libgtkmm30: new package
Dear James Knight,
Quoted 10 lines · James Knight
Signed-off-by James Knight <[email protected]>--- package/Config.in | 1 + package/libgtkmm30/Config.in | 23 +++++++++++++++++++++++ package/libgtkmm30/libgtkmm30.hash | 2 ++ package/libgtkmm30/libgtkmm30.mk | 27 +++++++++++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 package/libgtkmm30/Config.in create mode 100644 package/libgtkmm30/libgtkmm30.hash create mode 100644 package/libgtkmm30/libgtkmm30.mk
Applied, after some changes:
[Thomas:
- rename from libgtkmm30 to gtkmm3.
- add libsigc dependency.]
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/4 libcairomm: new package
In reply to James KnightDear James Knight,
Quoted 10 lines · James Knight
Signed-off-by James Knight <[email protected]>--- package/Config.in | 1 + package/libcairomm/Config.in | 19 +++++++++++++++++++ package/libcairomm/libcairomm.hash | 2 ++ package/libcairomm/libcairomm.mk | 16 ++++++++++++++++ 4 files changed, 38 insertions(+) create mode 100644 package/libcairomm/Config.in create mode 100644 package/libcairomm/libcairomm.hash create mode 100644 package/libcairomm/libcairomm.mk
I've applied, but quite a few changes were needed:
[Thomas:
- rename package from libcairomm to cairomm in order to match upstream name.
- put the package next to cairo in menuconfig
- add missing dependency on libsigc
- add missing depends on BR2_INSTALL_LIBSTDCPP
- fix license: it's LGPLv2+, not LGPLv2.]
I was a bit surprised by the missing dependency on libsigc. Please test your new packages with minimal configurations to validate that you have selected all dependencies. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH 1/4 libcairomm: new package
Thomas,
Quoted 2 lines · Thomas Petazzoni
I've applied, but quite a few changes were needed:
First off, thanks (as well as for related commits).
Quoted 2 lines
I was a bit surprised by the missing dependency on libsigc.
My apologies. I am surprised I messed that as well. No excuse; I'll have to rework how I check things but I submit stuff upstream.
I have one question about the following though:
Quoted 3 lines
- rename package from libcairomm to cairomm in order to match upstream name.
Was this changed to match existing Buildroot's packages naming style or
something else? I was trying to make sure I selected the right name for
these packages; a bit frustrated that I messed up on this as well. I guess
I started with trying to match gtkmm's package to gtk's packages seen in Buildroot (ie GTK 2 is libgtk2 and not gtk2), then followed suit with the
package dependencies I was adding. I guess my main question is why the GTK packages are named libgtk2/libgtk3 over gtk2/gtk3?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151216/ce7e4fbf/attachment.html>
PATCH 1/4 libcairomm: new package
James,
Quoted 4 lines · James Knight
Quoted 1 line
I was a bit surprised by the missing dependency on libsigc.
My apologies. I am surprised I messed that as well. No excuse; I'll have to rework how I check things but I submit stuff upstream.
No problem. It's anyway the sort of things that the autobuilders would have caught. If I didn't had to rename the packages, I probably wouldn't have even build tested them, leaving that work for the autobuilders.
Quoted 10 lines
Quoted 2 lines
- rename package from libcairomm to cairomm in order to match upstream name.
Was this changed to match existing Buildroot's packages naming style or something else? I was trying to make sure I selected the right name for these packages; a bit frustrated that I messed up on this as well. I guess I started with trying to match gtkmm's package to gtk's packages seen in Buildroot (ie GTK 2 is libgtk2 and not gtk2), then followed suit with the package dependencies I was adding. I guess my main question is why the GTK packages are named libgtk2/libgtk3 over gtk2/gtk3?
In general, we try to use the upstream name, which in this case was cairomm, atkmm, etc. Also another reason was that the cairo package was named cairo, not libcairo, not it was strange to have "cairo" and "libcairomm", it made more sense to have "cairo" and "cairomm".
Regarding gtk, yes we deviated from this rule. This has its origin many many years ago. Back in the time, the gtk (version 1) package was named libgtk, so we followed that for libgtk2 and then libgtk3.
Yes, it is not super consistent, but renaming all that stuff would be quite a lot of churn for no real benefit.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com