Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] json-for-modern-cpp: use include.zip
Date: Tue, 1 Jan 2019 11:04:52 +0100	[thread overview]
Message-ID: <20190101100452.GE26917@scaer> (raw)
In-Reply-To: <20181231222206.69527-1-aduskett@gmail.com>

Adam, All,

On 2018-12-31 17:22 -0500, aduskett at gmail.com spake thusly:
> From: Adam Duskett <Aduskett@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@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.  |
'------------------------------^-------^------------------^--------------------'

      parent reply	other threads:[~2019-01-01 10:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-31 22:22 [Buildroot] [PATCH 1/1] json-for-modern-cpp: use include.zip aduskett at gmail.com
2019-01-01 10:03 ` Thomas Petazzoni
2019-01-01 10:04 ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190101100452.GE26917@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox