package/libeastl: new package
PATCH 1/1 package/libeastl: new package
This patch adds the Entertainment Arts Standard Template Library.
The initial version uses the latest hash so that the aarch64 support is included vs Buildroot having to apply the aarch64 support patch.
--- DEVELOPERS | 1 + package/Config.in | 1 + package/libeastl/Config.in | 22 ++++++++++++++++++++++ package/libeastl/libeastl.hash | 2 ++ package/libeastl/libeastl.mk | 18 ++++++++++++++++++ 5 files changed, 44 insertions(+) create mode 100644 package/libeastl/Config.in create mode 100644 package/libeastl/libeastl.hash create mode 100644 package/libeastl/libeastl.mk
DEVELOPERS +1 -0
@@ -1418,6 +1418,7 @@ F: package/kvm-unit-tests/ F: package/kvmtool/ F: package/libcsv/ F: package/libcurl/ +F: package/libeastl/ F: package/libfcgi/ F: package/libopenssl/ F: package/libselinux/
package/Config.in +1 -0
@@ -1658,6 +1658,7 @@ menu "Other" source "package/libcrossguid/Config.in" source "package/libcsv/Config.in" source "package/libdaemon/Config.in" + source "package/libeastl/Config.in" source "package/libee/Config.in" source "package/libev/Config.in" source "package/libevdev/Config.in"
package/libeastl/Config.in new file +22 -0
@@ -0,0 +1,22 @@ +config BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + bool + default y if BR2_i386 + default y if BR2_x86_64 + default y if BR2_aarch64 + default y if BR2_powerpc + default y if BR2_powerpc64 + +config BR2_PACKAGE_LIBEASTL + bool "libeastl" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14 + help + EASTL stands for Electronic Arts Standard Template Library. + It is an extensive and robust implementation that has an + emphasis on high performance. + + https://github.com/electronicarts/EASTL + +comment "libeastl needs a toolchain w/ gcc >= 4.9" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
package/libeastl/libeastl.hash new file +2 -0
@@ -0,0 +1,2 @@ +sha256 b181ae3571648391801d7de87eeaf6cb41e85b3d2ffc9e23b87b23b39989800b libeastl-45469730d641868ce05433fff2e199510c7d45c3.tar.gz +sha256 82c0243a1a62b8af01dab3bce6ed2b0852604bd508b85a561ba7d32480e598e3 LICENSE
package/libeastl/libeastl.mk new file +18 -0
@@ -0,0 +1,18 @@ +################################################################################ +# +# libeastl +# +################################################################################ + +LIBEASTL_VERSION = 45469730d641868ce05433fff2e199510c7d45c3 +LIBEASTL_SITE = https://github.com/electronicarts/EASTL.git +LIBEASTL_SITE_METHOD = git +LIBEASTL_LICENSE = BSD-3-Clause +LIBEASTL_LICENSE_FILES = LICENSE +LIBEASTL_INSTALL_STAGING = YES + +define LIBEASTL_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/libEASTL.so $(TARGET_DIR)/usr/lib/ +endef + +$(eval $(cmake-package))
Signature · 1 line
1.9.1
Thomas Petazzoni
AppliedPATCH 1/1 package/libeastl: new package
Hello,
Quoted 7 lines · Matt Weber
This patch adds the Entertainment Arts Standard Template Library.
The initial version uses the latest hash so that the aarch64 support is included vs Buildroot having to apply the aarch64 support patch.
Signed-off-by Maury Anderson <[email protected]>Signed-off-by Matthew Weber <[email protected]>
I've applied, after fixing a few issues. See below.
Quoted 8 lines
package/libeastl/Config.in new file +2
-0@@ -0,0 +1,22 @@ +config BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + bool
package/libeastl/Config.in line 12
Quoted 10 lines
package/libeastl/Config.in new file +10
-0+ default y if BR2_i386 + default y if BR2_x86_64 + default y if BR2_aarch64 + default y if BR2_powerpc + default y if BR2_powerpc64 + +config BR2_PACKAGE_LIBEASTL + bool "libeastl" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # C++14
So the package uses C++, but doesn't have a BR2_INSTALL_LIBSTDCPP dependency ? Seems weird! :-)
package/libeastl/Config.in line 14
Quoted 2 lines
package/libeastl/Config.in new file +2
-0+ help + EASTL stands for Electronic Arts Standard Template Library.
I've extended a bit this description, because the next paragraph is a bit useless as it only says "hey, we're the best library".
package/libeastl/Config.in line 22
Quoted 8 lines
package/libeastl/Config.in new file +8
-0+ It is an extensive and robust implementation that has an + emphasis on high performance. + + https://github.com/electronicarts/EASTL + +comment "libeastl needs a toolchain w/ gcc >= 4.9" + depends on BR2_PACKAGE_LIBEASTL_ARCH_SUPPORTS + depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
I've added the C++ dependency here as well.
Quoted 6 lines
package/libeastl/libeastl.mk new file +0
-0
package/libeastl/libeastl.mk line 9
Quoted 9 lines
package/libeastl/libeastl.mk new file +9
-0@@ -0,0 +1,18 @@ +################################################################################ +# +# libeastl +# +################################################################################ + +LIBEASTL_VERSION = 45469730d641868ce05433fff2e199510c7d45c3 +LIBEASTL_SITE = https://github.com/electronicarts/EASTL.git +LIBEASTL_SITE_METHOD = git
I've used the github helper here.
package/libeastl/libeastl.mk line 16
Quoted 7 lines
package/libeastl/libeastl.mk new file +7
-0+LIBEASTL_LICENSE = BSD-3-Clause +LIBEASTL_LICENSE_FILES = LICENSE +LIBEASTL_INSTALL_STAGING = YES + +define LIBEASTL_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/libEASTL.so $(TARGET_DIR)/usr/lib/ +endef
And dropped this custom install command, the default installation command of cmake-package works just fine.
Applied to master with those fixes.
Thanks,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com