[Buildroot] [PATCH 1/1] json-for-modern-cpp: use include.zip

Yann E. MORIN yann.morin.1998 at free.fr
Tue Jan 1 10:04:52 UTC 2019


Adam, All,

On 2018-12-31 17:22 -0500, aduskett at gmail.com spake thusly:
> From: Adam Duskett <Aduskett at gmail.com>
> 
> Currently, the json for modern c++ uses the release tarball for configuring
> and installation. However; this tarball is actually 114.5Mb of unit tests, and
> 500Kb of actual code, which is just a header file.
> 
> When the package was initially submitted to Buildroot, json for modern c++ only
> had the option of either just the header file, or the tarball. Since then,
> the project has been able to break apart the header file into several, more
> managable files and have included them in a "include.zip" file for each release.
> This tar file is only 134K, and includes no unit tests.
> 
> This patch does the following:
> - Change the package to a generic package.
> - Manually unzip and install the header files to staging.
> - Update the sha256 hash's for the new files.
> 
> Signed-off-by: Adam Duskett <Aduskett at gmail.com>
> ---
>  .../json-for-modern-cpp.hash                  |  6 ++---
>  .../json-for-modern-cpp.mk                    | 22 +++++++++++++------
>  2 files changed, 18 insertions(+), 10 deletions(-)
> 
> diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.hash b/package/json-for-modern-cpp/json-for-modern-cpp.hash
> index cff01db74c..254e513035 100644
> --- a/package/json-for-modern-cpp/json-for-modern-cpp.hash
> +++ b/package/json-for-modern-cpp/json-for-modern-cpp.hash
> @@ -1,3 +1,3 @@
> -# Locally computed
> -sha256	e0b1fc6cc6ca05706cce99118a87aca5248bd9db3113e703023d23f044995c1d	json-v3.5.0.tar.gz
> -sha256	7b875bb7a4e28abb7956ea821b4b7d88ff6a2a4fabf261c3993730a365ec56dd	LICENSE.MIT
> +# From https://github.com/nlohmann/json/releases
> +sha256	3564da9c5b0cf2e032f97c69baedf10ddbc98030c337d0327a215ea72259ea21	include.zip
> +sha256	8e118538f66f1f13c78a215ddb7f9c1b83e835702fcd5a8586f77bb7455a1b99	json.hpp
> diff --git a/package/json-for-modern-cpp/json-for-modern-cpp.mk b/package/json-for-modern-cpp/json-for-modern-cpp.mk
> index 86399fd60d..62971bca08 100644
> --- a/package/json-for-modern-cpp/json-for-modern-cpp.mk
> +++ b/package/json-for-modern-cpp/json-for-modern-cpp.mk
> @@ -5,13 +5,21 @@
>  ################################################################################
>  
>  JSON_FOR_MODERN_CPP_VERSION = v3.5.0
> -JSON_FOR_MODERN_CPP_SOURCE = json-$(JSON_FOR_MODERN_CPP_VERSION).tar.gz
> -JSON_FOR_MODERN_CPP_SITE = $(call github,nlohmann,json,$(JSON_FOR_MODERN_CPP_VERSION))
> +JSON_FOR_MODERN_CPP_SOURCE = include.zip

So, the release file does not include the version in its name. That's
sad. Very sad... :-(

I think I'd prefer that we find another solution...

Regards,
Yann E. MORIN.

> +JSON_FOR_MODERN_CPP_SITE = https://github.com/nlohmann/json/releases/download/$(JSON_FOR_MODERN_CPP_VERSION)
>  JSON_FOR_MODERN_CPP_LICENSE = MIT
> -JSON_FOR_MODERN_CPP_LICENSE_FILES = LICENSE.MIT
> +JSON_FOR_MODERN_CPP_LICENSE_FILES = json.hpp
>  JSON_FOR_MODERN_CPP_INSTALL_STAGING = YES
> -# header only library
> -JSON_FOR_MODERN_CPP_INSTALL_TARGET = NO
> -JSON_FOR_MODERN_CPP_CONF_OPTS = -DJSON_BuildTests=OFF
>  
> -$(eval $(cmake-package))
> +define JSON_FOR_MODERN_CPP_EXTRACT_CMDS
> +	unzip $(JSON_FOR_MODERN_CPP_DL_DIR)/$(JSON_FOR_MODERN_CPP_SOURCE) -d $(@D)
> +	mv $(@D)/include/nlohmann/* $(@D)
> +	rm -r $(@D)/include
> +endef
> +
> +define JSON_FOR_MODERN_CPP_INSTALL_STAGING_CMDS
> +	mkdir -p $(STAGING_DIR)/usr/include/nlohmann
> +	cp -r $(@D)/* $(STAGING_DIR)/usr/include/nlohmann
> +endef
> +
> +$(eval $(generic-package))
> -- 
> 2.20.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'


More information about the buildroot mailing list