From patchwork Wed Jul 12 02:41:42 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrey Smirnov X-Patchwork-Id: 786940 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3x6js229vVz9s7C for ; Wed, 12 Jul 2017 12:41:57 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UmhAdXNF"; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 5F9B787DDC; Wed, 12 Jul 2017 02:41:54 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uEz83zfbAdGF; Wed, 12 Jul 2017 02:41:52 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 4AA3B87CEC; Wed, 12 Jul 2017 02:41:52 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 50A801C0ACA for ; Wed, 12 Jul 2017 02:41:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 4C1DB88F0D for ; Wed, 12 Jul 2017 02:41:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GPO9gPYTvw4y for ; Wed, 12 Jul 2017 02:41:49 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pf0-f196.google.com (mail-pf0-f196.google.com [209.85.192.196]) by hemlock.osuosl.org (Postfix) with ESMTPS id 92FA888F09 for ; Wed, 12 Jul 2017 02:41:49 +0000 (UTC) Received: by mail-pf0-f196.google.com with SMTP id e199so1303266pfh.0 for ; Tue, 11 Jul 2017 19:41:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=YV81ARrDZVFYUyuTrs0I2o1Q4oa7d9P9+xzJ83R7BAE=; b=UmhAdXNFNn7Zzg0g/0n6k44CZskKteVA1Gl/gZ5Pc3xLj+DdXnejnU/W+NM+yO//cm 8Q9RnpMUSakIhC3oQpI+rZ3p9vqEJtHa+z0Uro3PjH4VxoQBSSq9tsr1ygQGS5aXPY+o KDXbrMQlDHYdFxJxujGU3eELhzTBAoU41tw/qb5qBDAoKNP/SUtWdZhf3Oy/9V4ZXG95 izGW1P+VSNOnp2VoGMw9ZrzglSHRf3RxH3J9x7KxUlq76csMm33qvM6H0NxgUW/VChcG kzPDnvVIC0UF3nVzhTH3r+fci8fKDVwP2jbSO1p4FVHIQ9ZxrVShOvQLBRzHLtMr5qD+ nhNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YV81ARrDZVFYUyuTrs0I2o1Q4oa7d9P9+xzJ83R7BAE=; b=ic4yW20hx4Cjioq5ZZEEtGdzsWWElHqJpufWKzatJyfFugWwAo4rSAgj534pTe2fXQ PGM2rWKiLIK1gL0bZ3eDbpXlEc/VPD5yK9em2PL5DU0yjgVeK66xplglDLc/wcZWSlsA 3SxfmZjla4xrhut7mUQD7Oyn6oPeGMab5212Khw4uTGy6oIBJ1UM5peOGu660ijXz+Gx MAkmMjkInFnFPVT9nFY7vavfcfyvxl6+NJ6Xa84Og0vTYSYquayZdrIovhAkiwbtS1MP Nd2GVQwoyzAwOFS+xboSwyFPzbfzNOxcszpi6187zdGEejj/GS/vyX41rc8+PSccoYYZ Gmog== X-Gm-Message-State: AIVw110j0IrsVqQXLAQ181+6LsfK10BhB15+J4sRV0KVULZZBm6tT+LP W83Hk0OS3bpD2kcDNcM= X-Received: by 10.99.141.76 with SMTP id z73mr1606566pgd.40.1499827309028; Tue, 11 Jul 2017 19:41:49 -0700 (PDT) Received: from squirtle.westlake.spaceflightindustries.com ([173.226.206.194]) by smtp.gmail.com with ESMTPSA id o4sm1104530pga.47.2017.07.11.19.41.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Jul 2017 19:41:48 -0700 (PDT) From: Andrey Smirnov To: buildroot@buildroot.org Date: Tue, 11 Jul 2017 19:41:42 -0700 Message-Id: <20170712024142.2648-1-andrew.smirnov@gmail.com> X-Mailer: git-send-email 2.9.4 Cc: Andrey Smirnov Subject: [Buildroot] [PATCH v2] zstd: add new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Add package to provide Zstandard compression tools (see https://facebook.github.io/zstd) Minimal config snippet for utils/test-pkg is as follows: BR2_PACKAGE_ZSTD=y Signed-off-by: Andrey Smirnov --- Changes since [v1]: - Remove all of the excessive configuration options and simplify installation rules to just calling "make install" - Add support for HAVE_LZ4 - Add missing hash file [v1] http://lists.busybox.net/pipermail/buildroot/2017-July/196739.html DEVELOPERS | 1 + package/Config.in | 1 + package/zstd/Config.in | 13 +++++++++++++ package/zstd/zstd.hash | 2 ++ package/zstd/zstd.mk | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 66 insertions(+) create mode 100644 package/zstd/Config.in create mode 100644 package/zstd/zstd.hash create mode 100644 package/zstd/zstd.mk diff --git a/DEVELOPERS b/DEVELOPERS index 4380cbc..dc4e09e 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -100,6 +100,7 @@ F: package/python-scandir/ F: package/python-simplegeneric/ F: package/python-systemd/ F: package/python-traitlets/ +F: package/zstd/ N: Andrey Yurovsky F: package/rauc/ diff --git a/package/Config.in b/package/Config.in index a88e355..4025072 100644 --- a/package/Config.in +++ b/package/Config.in @@ -73,6 +73,7 @@ menu "Compressors and decompressors" source "package/unzip/Config.in" source "package/xz/Config.in" source "package/zip/Config.in" + source "package/zstd/Config.in" endmenu menu "Debugging, profiling and benchmark" diff --git a/package/zstd/Config.in b/package/zstd/Config.in new file mode 100644 index 0000000..0e97c64 --- /dev/null +++ b/package/zstd/Config.in @@ -0,0 +1,13 @@ +menuconfig BR2_PACKAGE_ZSTD + bool "zstd" + help + Zstandard, or zstd as short version, is a fast lossless + compression algorithm, targeting real-time compression + scenarios at zlib-level and better compression ratios + + For more info see https://facebook.github.io/zstd + + The selection of other packages will enable some features: + + - xz, lz4 and/or zlib will enable support for corresponding + compression formats \ No newline at end of file diff --git a/package/zstd/zstd.hash b/package/zstd/zstd.hash new file mode 100644 index 0000000..1bd9016 --- /dev/null +++ b/package/zstd/zstd.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 4a7e4593a3638276ca7f2a09dc4f38e674d8317bbea51626393ca73fc047cbfb zstd-v1.2.0.tar.gz diff --git a/package/zstd/zstd.mk b/package/zstd/zstd.mk new file mode 100644 index 0000000..0fb1d3c --- /dev/null +++ b/package/zstd/zstd.mk @@ -0,0 +1,49 @@ +################################################################################ +# +# zstd +# +################################################################################ + +ZSTD_VERSION = v1.2.0 +ZSTD_SITE = $(call github,facebook,zstd,$(ZSTD_VERSION)) +ZSTD_LICENSE = BSD-3-Clause +ZSTD_LICENSE_FILES = LICENSE PATENTS + +ZSTD_OPTS = DESTDIR=$(TARGET_DIR) PREFIX=/usr + +ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),y) +ZSTD_OPTS += HAVE_THREAD=1 +else +ZSTD_OPTS += HAVE_THREAD=0 +endif + +ifeq ($(BR2_PACKAGE_ZLIB),y) +ZSTD_DEPENDENCIES += zlib +ZSTD_OPTS += HAVE_ZLIB=1 +else +ZSTD_OPTS += HAVE_ZLIB=0 +endif + +ifeq ($(BR2_PACKAGE_XZ),y) +ZSTD_DEPENDENCIES += xz +ZSTD_OPTS += HAVE_LZMA=1 +else +ZSTD_OPTS += HAVE_LZMA=0 +endif + +ifeq ($(BR2_PACKAGE_LZ4),y) +ZSTD_DEPENDENCIES += lz4 +ZSTD_OPTS += HAVE_LZ4=1 +else +ZSTD_OPTS += HAVE_LZ4=0 +endif + +define ZSTD_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) -C $(@D) zstd +endef + +define ZSTD_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ZSTD_OPTS) -C $(@D)/programs install +endef + +$(eval $(generic-package))