diff --git a/package/Config.in.host b/package/Config.in.host index e5fbb07fc2..cd1c34b5a3 100644 --- a/package/Config.in.host +++ b/package/Config.in.host @@ -50,6 +50,7 @@ menu "Host utilities" source "package/lld/Config.in.host" source "package/lpc3250loader/Config.in.host" source "package/lttng-babeltrace/Config.in.host" + source "package/lzma-alone/Config.in.host" source "package/mender-artifact/Config.in.host" source "package/meson-tools/Config.in.host" source "package/mfgtools/Config.in.host" diff --git a/package/lzma-alone/Config.in.host b/package/lzma-alone/Config.in.host new file mode 100644 index 0000000000..053b869635 --- /dev/null +++ b/package/lzma-alone/Config.in.host @@ -0,0 +1,18 @@ +config BR2_PACKAGE_HOST_LZMA_ALONE + bool "host lzma-alone" + help + LZMA has two well-known command-line tools: + 1. lzma from LZMA SDK + 2. lzma from XZ Utils (previously LZMA Utils) + + This package provides the former one which: + 1. Gives more control over compression parameters + 2. Gets named lzma_alone to allow coexistence + + This tool may be used to prepare firmwares for bootloaders + with limited LZMA support. + E.g. Broadcom's CFE bootloader for MIPS BCM47xx devices is + known to fail to boot images using LZMA compression with + dictionary. + + https://www.7-zip.org/sdk.html diff --git a/package/lzma-alone/lzma-alone.hash b/package/lzma-alone/lzma-alone.hash new file mode 100644 index 0000000000..33901d1620 --- /dev/null +++ b/package/lzma-alone/lzma-alone.hash @@ -0,0 +1,5 @@ +# From https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK/ +sha1 fbe4d6c02202d65fae75c2db0e3cdc542ca41e6d lzma922.tar.bz2 +# Locally computed +sha256 9aade84f229fb25f7aef39d8866b375fe6d35a9e18098d7cd86a99e294902944 lzma922.tar.bz2 +sha256 65cd2f7b76266889cbdcec55ab8ce6e845beabb5f450d58287439b25666e3b6a lzma.txt diff --git a/package/lzma-alone/lzma-alone.mk b/package/lzma-alone/lzma-alone.mk new file mode 100644 index 0000000000..2ed6c2c772 --- /dev/null +++ b/package/lzma-alone/lzma-alone.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# lzma-alone +# +################################################################################ + +LZMA_ALONE_VERSION = 9.22 +LZMA_ALONE_SITE = https://sourceforge.net/projects/sevenzip/files/LZMA%20SDK +LZMA_ALONE_SOURCE = lzma922.tar.bz2 +LZMA_ALONE_STRIP_COMPONENTS = 0 +LZMA_ALONE_LICENSE = Public Domain +LZMA_ALONE_LICENSE_FILES = lzma.txt + +define HOST_LZMA_ALONE_BUILD_CMDS + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/C/Util/Lzma -f makefile.gcc + $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) \ + -C $(@D)/CPP/7zip/Bundles/LzmaCon -f makefile.gcc +endef + +define HOST_LZMA_ALONE_INSTALL_CMDS + $(INSTALL) -D -m 0755 \ + $(@D)/CPP/7zip/Bundles/LzmaCon/lzma \ + $(HOST_DIR)/bin/lzma_alone +endef + +$(eval $(host-generic-package))