Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/2] rhash: new package
@ 2017-04-19 12:24 Vicente Olivert Riera
  2017-04-19 12:24 ` [Buildroot] [PATCH v2 2/2] cmake: bump version to 3.8.0 Vicente Olivert Riera
  0 siblings, 1 reply; 4+ messages in thread
From: Vicente Olivert Riera @ 2017-04-19 12:24 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
Changes v1 -> v2:
- rename package to rhash
- take the help text of the library instead of the console utility
- sub-config option for the rhash binary starts with the package name
- conditionals for shared/static/shared-static reordered
- put make options into a make_opts variable
- install the console utility to staging as well
  (All suggestions by Arnout)
---
 package/Config.in        |  1 +
 package/rhash/Config.in  | 24 +++++++++++++++++
 package/rhash/rhash.hash |  3 +++
 package/rhash/rhash.mk   | 69 ++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 97 insertions(+)
 create mode 100644 package/rhash/Config.in
 create mode 100644 package/rhash/rhash.hash
 create mode 100644 package/rhash/rhash.mk

diff --git a/package/Config.in b/package/Config.in
index 4eaa95b..df38b4e 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -959,6 +959,7 @@ menu "Crypto"
 	source "package/mbedtls/Config.in"
 	source "package/nettle/Config.in"
 	source "package/openssl/Config.in"
+	source "package/rhash/Config.in"
 	source "package/tinydtls/Config.in"
 	source "package/trousers/Config.in"
 	source "package/ustream-ssl/Config.in"
diff --git a/package/rhash/Config.in b/package/rhash/Config.in
new file mode 100644
index 0000000..6581243
--- /dev/null
+++ b/package/rhash/Config.in
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_RHASH
+	bool "rhash"
+	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
+	help
+	  LibRHash is a professional,  portable,  thread-safe  C library for
+	  computing a wide variety of hash sums, such as  CRC32, MD4, MD5,
+	  SHA1, SHA256, SHA512, SHA3, AICH, ED2K, Tiger, DC++ TTH, BitTorrent
+	  BTIH,  GOST R 34.11-94, RIPEMD-160, HAS-160, EDON-R, Whirlpool and
+	  Snefru.
+
+	  https://github.com/rhash/RHash
+
+if BR2_PACKAGE_RHASH
+
+config BR2_PACKAGE_RHASH_BIN
+	bool "rhash binary"
+	depends on !BR2_STATIC_LIBS
+	help
+	  Install rhash console utility
+
+comment "rhash binary needs a toolchain w/ dynamic library"
+	depends on BR2_STATIC_LIBS
+
+endif
diff --git a/package/rhash/rhash.hash b/package/rhash/rhash.hash
new file mode 100644
index 0000000..5efc3a6
--- /dev/null
+++ b/package/rhash/rhash.hash
@@ -0,0 +1,3 @@
+# From https://sourceforge.net/projects/rhash/files/rhash/1.3.4/
+md5 0b51010604659e9e99f6307b053ba13b  rhash-1.3.4-src.tar.gz
+sha1 411d8c7ba84fa9763bc49fa2fd3a7587712fd52c  rhash-1.3.4-src.tar.gz
diff --git a/package/rhash/rhash.mk b/package/rhash/rhash.mk
new file mode 100644
index 0000000..8cefff8
--- /dev/null
+++ b/package/rhash/rhash.mk
@@ -0,0 +1,69 @@
+################################################################################
+#
+# rhash
+#
+################################################################################
+
+RHASH_VERSION = 1.3.4
+RHASH_SOURCE = rhash-$(RHASH_VERSION)-src.tar.gz
+RHASH_SITE = https://sourceforge.net/projects/rhash/files/rhash/$(RHASH_VERSION)
+RHASH_LICENSE = MIT
+RHASH_LICENSE_FILES = COPYING
+RHASH_INSTALL_STAGING = YES
+
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+RHASH_DEPENDENCIES += gettext
+RHASH_ADDCFLAGS += -DUSE_GETTEXT
+RHASH_ADDLDFLAGS += -lintl
+endif
+
+ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx)
+RHASH_DEPENDENCIES += openssl
+RHASH_ADDCFLAGS += -DOPENSSL_RUNTIME -rdynamic
+RHASH_ADDLDFLAGS += -ldl
+endif
+
+RHASH_MAKE_OPTS = \
+	ADDCFLAGS="$(RHASH_ADDCFLAGS)" \
+	ADDLDFLAGS="$(RHASH_ADDLDFLAGS)" \
+	PREFIX="/usr"
+
+ifeq ($(BR2_SHARED_LIBS),y)
+RHASH_BUILD_TARGETS = lib-shared build-shared
+RHASH_INSTALL_TARGETS = install-lib-shared install-so-link
+else ifeq ($(BR2_STATIC_LIBS),y)
+RHASH_BUILD_TARGETS = lib-static
+RHASH_INSTALL_TARGETS = install-lib-static
+else
+RHASH_BUILD_TARGETS = lib-static lib-shared build-shared
+RHASH_INSTALL_TARGETS = install-lib-static install-lib-shared install-so-link
+endif
+
+define RHASH_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+	$(RHASH_MAKE_OPTS) $(RHASH_BUILD_TARGETS)
+endef
+
+define RHASH_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/librhash \
+		DESTDIR="$(STAGING_DIR)" $(RHASH_MAKE_OPTS) $(RHASH_INSTALL_TARGETS) \
+		install-headers
+endef
+
+define RHASH_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/librhash \
+		DESTDIR="$(TARGET_DIR)" $(RHASH_MAKE_OPTS) $(RHASH_INSTALL_TARGETS)
+endef
+
+ifeq ($(BR2_PACKAGE_RHASH_BIN),y)
+define RHASH_INSTALL_RHASH_BIN
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		DESTDIR="$(STAGING_DIR)" $(RHASH_MAKE_OPTS) install-shared
+
+	$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
+		DESTDIR="$(TARGET_DIR)" $(RHASH_MAKE_OPTS) install-shared
+endef
+RHASH_POST_INSTALL_TARGET_HOOKS += RHASH_INSTALL_RHASH_BIN
+endif
+
+$(eval $(generic-package))
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2 2/2] cmake: bump version to 3.8.0
  2017-04-19 12:24 [Buildroot] [PATCH v2 1/2] rhash: new package Vicente Olivert Riera
@ 2017-04-19 12:24 ` Vicente Olivert Riera
  2017-04-19 12:36   ` Thomas Petazzoni
  0 siblings, 1 reply; 4+ messages in thread
From: Vicente Olivert Riera @ 2017-04-19 12:24 UTC (permalink / raw)
  To: buildroot

cmake depends on librhash, but host-cmake doesn't. This is because we
use the bundled dependencies for host-cmake but not for target.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
Changes v1 -> v2:
- Added explanation in the commit log about why rhash dependency is
  needed for cmake but not for host-cmake. (Arnout)
---
 package/cmake/Config.in  | 1 +
 package/cmake/cmake.hash | 4 ++--
 package/cmake/cmake.mk   | 6 +++---
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/package/cmake/Config.in b/package/cmake/Config.in
index 2706db5..00b7d8a 100644
--- a/package/cmake/Config.in
+++ b/package/cmake/Config.in
@@ -21,6 +21,7 @@ config BR2_PACKAGE_CMAKE_CTEST
 	select BR2_PACKAGE_BZIP2
 	select BR2_PACKAGE_XZ
 	select BR2_PACKAGE_LIBUV
+	select BR2_PACKAGE_LIBRHASH
 	depends on BR2_PACKAGE_CMAKE_ARCH_SUPPORTS
 	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # from jsoncpp
 	depends on BR2_USE_WCHAR # libarchive
diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash
index 13c0237..f16f876 100644
--- a/package/cmake/cmake.hash
+++ b/package/cmake/cmake.hash
@@ -1,2 +1,2 @@
-# From http://www.cmake.org/files/v3.7/cmake-3.7.2-SHA-256.txt
-sha256 dc1246c4e6d168ea4d6e042cfba577c1acd65feea27e56f5ff37df920c30cae0  cmake-3.7.2.tar.gz
+# From http://www.cmake.org/files/v3.8/cmake-3.8.0-SHA-256.txt
+sha256 cab99162e648257343a20f61bcd0b287f5e88e36fcb2f1d77959da60b7f35969  cmake-3.8.0.tar.gz
diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
index d9eea32..2b4a512 100644
--- a/package/cmake/cmake.mk
+++ b/package/cmake/cmake.mk
@@ -4,8 +4,8 @@
 #
 ################################################################################
 
-CMAKE_VERSION_MAJOR = 3.7
-CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).2
+CMAKE_VERSION_MAJOR = 3.8
+CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).0
 CMAKE_SITE = https://cmake.org/files/v$(CMAKE_VERSION_MAJOR)
 CMAKE_LICENSE = BSD-3-Clause
 CMAKE_LICENSE_FILES = Copyright.txt
@@ -22,7 +22,7 @@ CMAKE_LICENSE_FILES = Copyright.txt
 #   the system-wide libraries instead of rebuilding and statically
 #   linking with the ones bundled into the CMake sources.
 
-CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz libuv
+CMAKE_DEPENDENCIES = zlib jsoncpp libcurl libarchive expat bzip2 xz libuv librhash
 
 CMAKE_CONF_OPTS = \
 	-DKWSYS_LFS_WORKS=TRUE \
-- 
2.10.2

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2 2/2] cmake: bump version to 3.8.0
  2017-04-19 12:24 ` [Buildroot] [PATCH v2 2/2] cmake: bump version to 3.8.0 Vicente Olivert Riera
@ 2017-04-19 12:36   ` Thomas Petazzoni
  2017-04-19 13:13     ` Vicente Olivert Riera
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2017-04-19 12:36 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 19 Apr 2017 13:24:11 +0100, Vicente Olivert Riera wrote:
> cmake depends on librhash, but host-cmake doesn't. This is because we
> use the bundled dependencies for host-cmake but not for target.
> 
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>

Thanks for this update. Did you test building a large number of
cmake-package packages of Buildroot with this new CMake version?

(Of course, to really test this, you need to uninstall your system-wide
CMake, or at least make Buildroot believe it's not
available/appropriate).

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2 2/2] cmake: bump version to 3.8.0
  2017-04-19 12:36   ` Thomas Petazzoni
@ 2017-04-19 13:13     ` Vicente Olivert Riera
  0 siblings, 0 replies; 4+ messages in thread
From: Vicente Olivert Riera @ 2017-04-19 13:13 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On 19/04/17 13:36, Thomas Petazzoni wrote:
> Hello,
> 
> On Wed, 19 Apr 2017 13:24:11 +0100, Vicente Olivert Riera wrote:
>> cmake depends on librhash, but host-cmake doesn't. This is because we
>> use the bundled dependencies for host-cmake but not for target.
>>
>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> 
> Thanks for this update. Did you test building a large number of
> cmake-package packages of Buildroot with this new CMake version?

yes, I've tested with some of them:

~/git-clones/buildroot-1/output/build $ find . -maxdepth 2 -type f -name
"CMakeLists.txt" | cut -d'/' -f2
libuci-49ec6efbdac4819033d34f08927d795f83a3932d
bullet-2.85.1
cannelloni-20160414
tinyxml2-3.0.0
rabbitmq-c-v0.8.0
host-cmake-3.8.0
libssh-0.7.3
librtlsdr-v0.5.3
ubus-34c6e818e431cc53478a0f7c7c1eca07d194d692
bctoolbox-0.4.0
taglib-1.11.1
jasper-2.0.12
yajl-2.1.0
cjson-v1.4.6
libiqrf-v0.1.2
yaml-cpp-0.5.2
libical-1.0.1
zlib-1.2.11
expat-2.2.0
cdrkit-1.1.11
libubox-723730214732862de7e892bae2f7a7889e66bf1b
uhttpd-a8bf9c00842224edb394e79909053f7628ee6a82
exiv2-0.25

> 
> (Of course, to really test this, you need to uninstall your system-wide
> CMake, or at least make Buildroot believe it's not
> available/appropriate).

$ cmake
bash: /usr/bin/cmake: No such file or directory

Regards,

Vincent

> 
> Thanks!
> 
> Thomas
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-04-19 13:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-19 12:24 [Buildroot] [PATCH v2 1/2] rhash: new package Vicente Olivert Riera
2017-04-19 12:24 ` [Buildroot] [PATCH v2 2/2] cmake: bump version to 3.8.0 Vicente Olivert Riera
2017-04-19 12:36   ` Thomas Petazzoni
2017-04-19 13:13     ` Vicente Olivert Riera

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox